Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 持久数据库连接和mysql_insert_id()_Php_Mysql_Database - Fatal编程技术网

Php 持久数据库连接和mysql_insert_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

说明:

我有一个SQL查询,它将数据插入我正在使用的MYSQL表中 然后我有另一个sql查询,它将数据插入到另一个表中,并在其前面插入数据id。。。几个月前,我用一种非常新手的方法实现了它

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与查询结果一起传输到客户机,只需在发送下一个查询之前询问即可。