我有一张名为picture的表(id,pic,date_posted)。我想从我的index.php页面将图片的url插入到我网站的'Pics'
目录中。我使用了以下代码:
if(isset($_POST['send'])){
//sever is already connected, and database has already been selected
$name = str_replace(" ","_",$_FILES['img']['name']);
move_uploaded_file($_FILES['img']['tmp_name'], 'Pics/'.$name);
//my sql statement that I think it doesn't work
$sql = "INSERT INTO picture(pic, date_posted) VALUES(Pics/'".$name. "', ".time().")";
$result = mysql_query($sql, $on) or die(mysql_error());
//displaying the result
$sql_dislay = "SELECT * FROM picture";
$result_display = mysql_query($sql_display, $con) or die(mysql_error());
echo "<table border=1>
<tr>
<th>ID</th>
<th>Image</th>
<th>Date Uploaded</th>
</tr>";
while($row = mysql_fetch_array($result_display)){
$id = $row['id'];
$pic = $row['pic'];
$d = $row['date_posted'];
echo "<tr>
<td>$id</td>
<td>$pic</td>
<td>$d</td>
</tr>";
}
echo "</table>";
}
我从“字段列表”中的sql语句“未知列”“Pics”中收到错误消息。但实际上我想将图像的url插入到表中,让我们说'Pics / image001.jpg'然后当我检索结果时,它就是我想要的。再一次,发布的日期是0000-00-00,这不是我想要的结果。
任何帮助将不胜感激。感谢
答案 0 :(得分:2)
查询应为
$sql = "INSERT INTO picture(pic, date_posted) VALUES('Pics/".$name. "', ".time().")";
值中的引号应在Pics
之前开始。
关于日期,如果date_posted
字段属于timestamp
类型,最好的办法是使用ON UPDATE CURRENT_TIMESTAMP。关于您的问题,time()
返回自Unix Epoch(1970年1月1日00:00:00 GMT)以来秒数测量的当前时间。
因此,如果您想使用time()
,那么您可以使用date()函数转换为时间戳