Php 如何从一个db表中检索ImageId并将其存储在另一个db表中
我有一个插入函数,它在图像表的“ImageFile”字段中插入图像文件名,由于自动编号,每行都有自己的ImageId。这方面的一个例子如下:Php 如何从一个db表中检索ImageId并将其存储在另一个db表中,php,mysql,Php,Mysql,我有一个插入函数,它在图像表的“ImageFile”字段中插入图像文件名,由于自动编号,每行都有自己的ImageId。这方面的一个例子如下: ImageId ImageFile 23 orange.jpg 24 flowers.png 25 castle.png 26 orange.jpg 我想做的是将ImageId插入另一个带有QuestionId和SessionId的表中,这样这个表Image\u Question就可
ImageId ImageFile
23 orange.jpg
24 flowers.png
25 castle.png
26 orange.jpg
我想做的是将ImageId插入另一个带有QuestionId和SessionId的表中,这样这个表Image\u Question就可以使用ImageId将Image表与Image Question表链接起来。现在我尝试使用mysql\u insert\u id从Image表中检索ImageId,并将其存储在Image\u Question表中的ImageId中
但我似乎不知道我需要做什么,目前在Image表中插入值工作正常,但它没有在Image\u问题表中插入任何值
所以我的问题是,对于插入到Image表中的每一行,我如何从Image表中检索ImageId,并使用mysql\u insert\u id将其插入到Image\u问题表中?
示例如下:
ImageId SessionId QuestionId
23 AAA 1
24 AAA 2
25 AAA 3
26 AAA 4
我已经为SessionId和QuestionId编码了插入值,但只需要检索和插入ImageId的帮助。以下是当前代码:
<?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,因为那是大学服务器的版本。您需要运行
$lastimageid = mysql_insert_id();
将php代码插入数据库后。需要重新排序php代码才能运行
mysql_query($imagesql);
$lastimageid = mysql_insert_id();
mysql_query($imageinsertsql);
当前检索lastimageid,插入图像\u问题,然后插入图像