注意:第16行的数组到字符串转换

时间:2013-12-18 06:57:23

标签: php

希望有人能在这里帮助我,我对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();

?>

2 个答案:

答案 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建议的那样。