希望有人能在这里帮助我,我对php很新,所以记住这一点。我在php文件中遇到上述错误,这允许我将新产品添加到数据库中,我不确定在尝试上传图像时我出错了。产品名称,价格,以前的价格和产品详细信息更新确定,问题似乎与添加图像有关。
<?php
include('../connect.php');
$addid= $_POST['addrow'];
$addproduct= mysql_real_escape_string(htmlentities($_POST['addproduct']));
$addprice= mysql_real_escape_string(htmlentities($_POST['addprice']));
$addprevprice= mysql_real_escape_string(htmlentities($_POST['addprevprice']));
$adddetails= mysql_real_escape_string(htmlentities($_POST['adddetails']));
$addimage1= $_FILES['addimage1'];
$addimage2= $_FILES['addimage2'];
$addimage3= $_FILES['addimage3'];
$query = "INSERT INTO admincamera (product, price, prevprice, details, image1, image2, image3)"."VALUES('$addproduct', '$addprice', '$addprevprice', '$adddetails', '$addimage1', '$addimage2', '$addimage3')";
mysql_query($query) or die(mysql_error());
mysql_close();
?>
答案 0 :(得分:2)
您必须在数据库中存储图片名称,因为在图片上传中,您会在array
$_FILES
您应该处理上传的图像,以将其存储在您的服务器上。
$addimage1= mysql_real_escape_string($_FILES['addimage1']['name']);
$addimage2= mysql_real_escape_string($_FILES['addimage2']['name']);
$addimage3= mysql_real_escape_string($_FILES['addimage3']['name']);
答案 1 :(得分:0)
这是因为$addimage1
需要一个字符串值。但是,$_FILES['addimage1']
是一个数组(阅读更多信息:http://www.php.net/manual/en/reserved.variables.files.php)。因此它抛出了错误。
如果您想存储其文件名,您应该像@Parixit建议的那样。