2014-11-04 102 views
0

我正在研究一個項目,將圖像上傳到目錄並將圖像路徑存儲在數據庫表中。圖片上傳工作正常,但我的文字輸入名稱不起作用。我需要你的幫助。MySQL數據庫插入錯誤

if(isset($_POST['upload'])) 
{ 

$path=$path.$_FILES['file_upload']['name']; 

if(move_uploaded_file($_FILES['file_upload']['tmp_name'],$path)) 
{ 
echo " ".basename($_FILES['file_upload']['name'])." has been uploaded<br/>"; 
echo '<img src="gallery/'.$_FILES['file_upload']['name'].'" width="48" height="48"/>'; 
$img=$_FILES['file_upload']['name']; 
    $query="insert into imgtables (name,imgurl,date) values('$name',STR_TO_DATE('$dateofbirth','%d-%m-%y'),'$img',now())"; 
    if($sp->query($query)){ 
    echo "<br/>Inserted to DB also"; 
    }else{ 
     echo "Error <br/>".$sp->error;  
    } 
} 
else 
{ 
echo "There is an error,please retry or ckeck path"; 
} 
} 

?> 

的形式如下:

<form action="gallery.php" method="post" enctype="multipart/form-data"> 
<table width="384" border="1" align="center"> 

<tr> 
<td width="108">Name</td> 
<td><input type="text" name="name"></td> 
</tr> 
<tr> 
<td width="108">Select File</td> 
<td width="260"><label><input type="file" name="file_upload"></label></td> 
</tr> 
<tr> 
<td></td> 
<td><label><input type="submit" name="upload" value="Upload File"></label></td> 
</tr> 
</table> 
</form> 
+2

你應該看看mysql的錯誤信息。 – Sirko 2014-11-04 12:35:25

+0

當我回顯($查詢)沒有錯誤指示,因爲一些列(imgurl和日期)被成功填充,除了名爲一列。 – 2014-11-04 12:47:27

+1

你在哪裏設置'$ name'?它沒有在提供的代碼示例中設置(除非'register_globals'已打開,但那會很糟糕...)。 – Sirko 2014-11-04 12:50:15

回答

1

顯然變量$name是空的或不確定的,這就是爲什麼所有的其他列被填充,而不是這一個。另外,由於查詢是有效的,您不會收到任何錯誤。

你可以用一個簡單的證實了這一點:

echo($name); 

不相關的問題:

+0

謝謝。我設置了變量,現在它正在工作。但是,我現在需要準備好聲明。問候 – 2014-11-04 14:08:15