2014-11-04 100 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