2013-12-18 55 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

相關問題