Php 持久数据库连接和mysql_insert_id()
说明: 我有一个SQL查询,它将数据插入我正在使用的MYSQL表中 然后我有另一个sql查询,它将数据插入到另一个表中,并在其前面插入数据id。。。几个月前,我用一种非常新手的方法实现了它Php 持久数据库连接和mysql_insert_id(),php,mysql,database,Php,Mysql,Database,说明: 我有一个SQL查询,它将数据插入我正在使用的MYSQL表中 然后我有另一个sql查询,它将数据插入到另一个表中,并在其前面插入数据id。。。几个月前,我用一种非常新手的方法实现了它 if(mysqli_query($con, "INSERT INTO `plumit`.`posts` ( `posted_on_id`, `poster_id`, `post_type` , `post` , `lik
if(mysqli_query($con,
"INSERT INTO `plumit`.`posts` (
`posted_on_id`,
`poster_id`,
`post_type` ,
`post` ,
`likes` ,
`dislikes` ,
`comments` ,
`post_date`
) VALUES (
'$posted_on_id',
'$reg_no',
'text',
'$data',
'0',
'0',
'',
'$datetime'
)")
){
$result = mysqli_query($con,
"select * from posts order by post_id desc limit 1"
);
while ($rows=mysqli_fetch_array($result,MYSQLI_BOTH))
{
$post_id = $rows[0];
}
if(mysqli_query("insert into another table using $post_id"))
{
echo "Success";
}
}
现在我正在更改我所有的代码,因为现在我向服务器发出了太多的查询请求,并且已经开始学习如何优化代码和使用更智能的方式查询数据库
为了获得最后一个插入的id,我使用了mysql\u insert\u id而不是select语句
但这只给了我0
所以经过大量的搜索,我发现我必须创建持久的数据库连接才能使其正常工作,所以我把它包含在我的php文件中,我用它来插入数据
$cfg['PersistentConnections'] = TRUE;
但是如果你在谷歌上搜索它,这也不起作用。有很多链接说,创建持久连接是一个非常糟糕的主意,等等
我只想得到我插入的行的id,而不是最后插入的行,因为如果我得到最后插入行的id,它可能是另一行的id,比如说,当我得到最后一个id时,其他人会插入数据,所以它会得到该行的id,这是错误的。。。将有1000个用户插入数据,我想要我刚才插入的行的id,我不知道现在该怎么办??有人吗 在if的正文中,数据插入的第一个查询runsmysqli_insert_id执行了此任务。。。现在你能告诉我这是不是最好的方法吗。。。。是的,这是最好的方法。ID与查询结果一起传输到客户机,只需在发送下一个查询之前询问即可。