我想将图像上传到数据库,并将值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?
答案 0 :(得分:3)
首先插入没有图像名称的记录而不是更新图像路径后的记录
获取您的上一个身份mysql_insert_id();
答案 1 :(得分:0)
您可以在插入查询之前使用mysql_insert_id()
获取最后插入的ID,然后您可以将其递增并将其另存为图像名称。
但是,如果您的应用程序同时运行多个操作,这不是理想的方法。
此外,您应该使用mysqli或PDO而不是mysql。