使用id auto increment在数据库中插入值

时间:2015-06-04 12:59:43

标签: php mysql post

我想将图像上传到数据库,并将值id,markerID(String,not unique),imagename(text),note(text)和likes(int)添加到我的表格插板。

这是我的PHP Scirpt:

if (isset($_POST["image"]) && isset($_POST["markerID"])) {
    $data = $_POST["image"];
    $markerID = $_POST["markerID"];
    $ImageName = $id.".png";
    $filePath = "CEimages/".$ImageName;
    echo "file ".$filePath;

    if (file_exists($filePath)) {
        unlink($filePath); //delete old file
    }

    $myfile = fopen($filePath, "w") or die("Unable to open file!");
    file_put_contents($filePath, base64_decode($data));

    //id, markerId, image, note, likes
    mysql_query("INSERT INTO pinboard VALUES ('', '{$markerID}', '{$ImageName}', '', '')") or die ('Could not save entry: '.mysql_error());
}

问题出在我设置$ ImageName的地方。我希望ImageName等于id,所以它是uniqe。但是当我添加值(id是自动增量)时,后面会设置id。 如果行在同一脚本中插入,我如何将ImageName设置为ID?

2 个答案:

答案 0 :(得分:3)

首先插入没有图像名称的记录而不是更新图像路径后的记录

获取您的上一个身份mysql_insert_id();

答案 1 :(得分:0)

您可以在插入查询之前使用mysql_insert_id()获取最后插入的ID,然后您可以将其递增并将其另存为图像名称。

但是,如果您的应用程序同时运行多个操作,这不是理想的方法。

此外,您应该使用mysqli或PDO而不是mysql。