尝试在插入后查看图像上载-php mySQL
我正在学习如何上传带有插页的照片。到目前为止,我得到了上传到“照片”文件夹的图像。这很有效。我创建了一个名为“image”的blob字段 我应该看到水滴区域中的路径还是真实的照片?困惑尝试在插入后查看图像上载-php mySQL,php,mysql,image,upload,insert,Php,Mysql,Image,Upload,Insert,我正在学习如何上传带有插页的照片。到目前为止,我得到了上传到“照片”文件夹的图像。这很有效。我创建了一个名为“image”的blob字段 我应该看到水滴区域中的路径还是真实的照片?困惑 我想你想要一个表单,让用户填写一些细节并上传一张图片,然后再显示回来 如果是这样,我就不会将图像存储在MySQl中。我会将图像上传到服务器的文件系统,在WWW根目录(浏览器可以访问的目录)之外的某个地方,并将图像文件的路径存储在char列中 当您想要显示它时,只需打印一个标记,其中包含从DB查询中获取的图像源
我想你想要一个表单,让用户填写一些细节并上传一张图片,然后再显示回来
如果是这样,我就不会将图像存储在MySQl中。我会将图像上传到服务器的文件系统,在WWW根目录(浏览器可以访问的目录)之外的某个地方,并将图像文件的路径存储在char列中
当您想要显示它时,只需打印一个标记,其中包含从DB查询中获取的图像源
此外,您的代码似乎建议您接受用户输入并直接将其添加到数据库中,从安全角度来看,这是非常糟糕的。您需要先进行输入验证(google that和SQL注入攻击)您可以采用任何一种方法,本网站上有许多问题在权衡每种方法的优缺点。是否可以在phpMyAdmin的浏览中看到该图像?或者我可以显示链接吗?如果您想将链接放入数据库(我建议),您必须将其添加到INSERT
语句中(即,将列名添加到VALUES
关键字之前的列表中,并将图像路径添加到VALUES
关键字之后列表中的相应位置):字符串类型的列(如VARCHAR
)比BLOB
更适合此用途。如果您想将映像本身存储在BLOB
(这是可能的,但我不推荐),那么您必须使用映像文件的内容作为要插入的值来执行类似的操作。顺便说一句,您的代码容易受到SQL注入的影响。您确实应该使用准备好的语句,将变量作为参数传递到语句中,而这些参数不会对SQL进行求值。如果你不知道我在说什么,或者不知道如何修复它,请阅读的故事。我最终会在以后使用准备好的语句。现在我正在努力理解上传的基础知识。对不起,我不熟悉jsfiddle.net,不确定我在看什么。我可以在周一发布一些示例代码,如果你还没有整理好的话
<?
$order = "INSERT INTO reg_add (connect_date,
reg,
first_name,
last_name,
image)
VALUES
('$_POST[connect_date]',
'{$_POST[reg]}nv',
'$_POST[first_name]',
'$_POST[last_name]',
'$_POST[image]')";
$new_image = 'photos/'.basename( $_FILES['image']['name']);
if(move_uploaded_file($_FILES['image']['tmp_name'], $new_image)) {
// The images was uploaded
} else{
header("location: reg_add_fail_IMAGE.php");
}
$sql = "INSERT INTO image (path) VALUES ('" . mysql_real_escape_string($path) . "')";
$result = mysql_query($order);
?>
<form id="form_register" method="POST" action="reg_add.php">
<input class="req-string bx short" type="text" name="connect_date" id="connect_date">
<input type="hidden" name="MAX_FILE_SIZE" value="100000">
<input class="req-string bx long caps" type="text" name="reg" id="reg">
<input class="req-string bx long" type="text" name="first_name">
<input class="bx long" type="text" name="last_name">
Choose a image to upload: <input name="image" type="file">
<input id="rbSubmit" class="rb2 rbSubmit" type="submit" value="submit">
</form>