PHP插入数据失败

时间:2011-07-13 04:27:43

标签: php file-upload

我有一张名为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,这不是我想要的结果。

任何帮助将不胜感激。感谢

1 个答案:

答案 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()函数转换为时间戳