当前位置:  开发笔记 > 编程语言 > 正文

使用php中的select last_insert_id()不起作用

如何解决《使用php中的selectlast_insert_id()不起作用》经验,为你挑选了1个好方法。

我有这个完全相同的问题,但答案是陈旧的,我已经读过其他地方使用mysql_insert_id()是折旧的,应该在新代码中避免使用.

数据库是InnoDB,此表的主键设置为auto_increment.

谁能看到我在这里做错了什么?我应该注意到我是一个初学者并且自己学习,所以我很抱歉这是非常明显的.

$query  = "INSERT INTO VENUES (province,city,venue)" . "VALUES " . "('$province','$city','$venue')";
$result = $db->query($query);
if ($result) {
    echo "$result row(s) sucessfully inserted.
"; } else { echo "$db->error
"; } $result = $db->query("select last_insert_id()"); echo $result->num_rows //returns 1 echo $result; //nothing beyond this line happens

更新:我正在使用mysqli.



1> xbonez..:

获取最后插入的id的正确方法mysql_*是在使用时调用mysql_insert_id().

你正在阅读的内容是部分正确的 - mysql_insert_id正在被弃用,但它不仅仅是那个功能.所有mysql_*功能都已被弃用.相反,你应该使用PDO或mysqli_*.

在您的代码段中,不清楚您正在使用哪个数据库访问库.由于您的调用似乎绑定到某个对象,因此您可能正在使用PDO或mysqli.

对于PDO,您可以使用PDO::lastInsertId.
对于mysqli,使用mysqli->insert_id.

推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有