2013-12-18 22 views
0

希望有人可以帮助我在这里,我很新的PHP,所以要记住。我在php文件中遇到了上述错误,该文件允许我将新产品添加到数据库,并且我不确定尝试上载图像时出错的位置。产品名称,价格,以前的价格和产品详细信息更新确定,问题似乎是添加图像。注意:数组到字符串转换的第16行

<?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

*旁注:*停止使用不推荐使用的'mysql_ *'函数。改为使用[MySQLi](http://php.net/manual/en/book.mysqli.php)或[PDO](http://php.net/manual/en/book.pdo.php)。 – Raptor

回答

2

你必须在数据库中存储的图像的名字,因为在图片上传你$_FILES

上传图像接收array应该由您处理将其存储在服务器上。

$addimage1= mysql_real_escape_string($_FILES['addimage1']['name']); 
$addimage2= mysql_real_escape_string($_FILES['addimage2']['name']); 
$addimage3= mysql_real_escape_string($_FILES['addimage3']['name']); 
+0

明白了,感谢百万芽。这让我疯狂:) – mcclosa

0

这是因为$addimage1需要一个字符串值。但是,$_FILES['addimage1']是一个数组(更多信息,请参阅:http://www.php.net/manual/en/reserved.variables.files.php)。因此它抛出了错误。

如果你想保存其文件名,你应该做的像什么@Parixit建议。

+0

谢谢你的链接。我现在明白了。 – mcclosa

相关问题