繁体   English   中英

SELECT LAST_INSERT_ID()无法正确生成

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM