我有一个INSERT函数,它将图像文件名插入到“Image”表中的“ImageFile”字段中,每行都有它自己的ImageId,这要归功于自动编号。这方面的一个例子如下:如何从一个数据库表中检索ImageId并将其存储在另一个数据库表中
ImageId ImageFile
23 orange.jpg
24 flowers.png
25 castle.png
26 orange.jpg
我想要做的也是插入图像标识与QuestionId和SessionID的另一个表,该表(Image_Question)可以使用图像标识的图像表的链接图片问题表。现在我试图使用mysql_insert_id从Image Table中检索ImageId并将其存储在Image_Question表中的ImageId中。
但我似乎无法弄清楚我需要做什么,此刻插入图像表的INSERTING值工作正常,但它不会在Image_Question表中插入任何值。
所以我的问题是插入到图像表中的每一行,我该如何从图像表中检索ImageId,并使用mysql_insert_id()将其插入到Image_Question表中?下面 例子:
ImageId SessionId QuestionId
23 AAA 1
24 AAA 2
25 AAA 3
26 AAA 4
我已编码的SessionID和QuestionId的INSERT值,但只需要帮助检索和插入图像标识。以下是当前代码:
<?php
session_start();
//connect to db
$result = 0;
$i = 0;
$insertimage = array();
$lastimageid = mysql_insert_id();
move_uploaded_file($_FILES["fileImage"]["tmp_name"],
"ImageFiles/" . $_FILES["fileImage"]["name"]);
$result = 1;
$imagesql = "INSERT INTO Image (ImageFile)
VALUES ('ImageFiles/".mysql_real_escape_string($_FILES['fileImage']['name'])."')";
for($i = 0; $i < $c; $i++){
$insertimage[] = "'". mysql_real_escape_string($lastimageid [$i]) ."','".
mysql_real_escape_string($_SESSION['id']) .
($_SESSION['initial_count'] > 1 ? $_SESSION['sessionCount'] : '') ."' ,'".
mysql_real_escape_string($_POST['numQuestion'][$i]) ."'";
}
$imageinsertsql = "INSERT INTO Image_Question (ImageId, SessionId, QuestionId)
VALUES (" . implode('), (', $insertimage) . ")";
mysql_query($imageinsertsql);
mysql_query($imagesql);
}
mysql_close();
?>
我有一个旧的PHP版本5.2.13,因为那是大学的服务器版本。