[英]SELECT LAST_INSERT_ID() not generating correctly
我正在建立一个房地产网站。
当前的情况是我有一个property.php,其中包含许多isset _get
来确定输出。 属性页正在查询属性表,并取决于允许输入不同类型的字段。 我允许上载图像表中的多个图像。 这一切都工作得很好。
问题是由于有两个表,我需要插入两个查询(我已将表,列和字段定义为变量,以便可以在不同的页面和站点中重用它们:))
$qry=mysql_query("INSERT INTO $table($col1,$col2,$col3,$col4,$col5,$col6,$col7,$col8,$col9,$col10,$col11,$col12,$col13,$col14)VALUES('$field','$field2','$field3','$field4','$field5','$field6','$field7','$field8','$field9','$field10','$field11','$field12','$field13','$field14')", $con);
if(!$qry)
{
die("Query Failed: ". mysql_error());
}
else
{
include 'upload.php';
upload.php完成图像的所有移动并运行另一个查询
$query="INSERT into images (`property`,`image`) VALUES(SELECT LAST_INSERT_ID(),'$file_name'); ";
我的问题是,属性字段永远不会填充last_insert_id()
且始终为0。
基本上,我希望能够跟踪所有上传到在提交过程中插入到属性表的ID的图像,并且我相信last_insert_id()
可以满足我的需要-但不适用于当前代码。
在任何人谈论mysqli和pdo之前,我要提一提,我将在稍后阶段进行介绍。
插入try时,无需在LAST_INSERT_ID()
之前使用select
$query="INSERT into images (`property`,`image`) VALUES( LAST_INSERT_ID(),'$file_name'); ";
或者您可以尝试使用mysql_insert_id()
$qry=mysql_query("INSERT INTO $table($col1,$col2,$col3,$col4,$col5,$col6,$col7,$col8,$col9,$col10,$col11,$col12,$col13,$col14)VALUES('$field','$field2','$field3','$field4','$field5','$field6','$field7','$field8','$field9','$field10','$field11','$field12','$field13','$field14')", $con);
if(!$qry) {
die("Query Failed: ". mysql_error());
}
else {
$last_id = mysql_insert_id();
include 'upload.php';
然后upload.php查询将是
$query="INSERT into images (`property`,`image`) VALUES('$last_id','$file_name'); ";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.