【发布时间】:2014-08-18 02:35:33
【问题描述】:
我正在将现有的 MySQL 转换为 mysqli
但我无法正确获取这段代码
mysql_query("INSERT INTO `sendmsg`(`sendname`, `recievename`, `subject`, `body` , `mdate`, `mtime`) VALUES ('$sendname','$recievename','$subject','$body','$msgdate','$msgtime')");
$new_id = mysql_insert_id();
mysql_query("INSERT INTO `recievemsg`(`msgid`, `sendname`, `recievename`, `subject`, `body`, `mdate`, `mtime`, `status`) VALUES ($new_id,'$sendname','$recievename','$subject','$body','$msgdate','$msgtime','UNREAD')");
下面给出了我尝试的方法,但没有奏效
$mysqli->query("INSERT INTO `sendmsg`(`sendname`, `recievename`, `subject`, `body` , `mdate`, `mtime`) VALUES ('$sendname','$recievename','$subject','$body','$msgdate','$msgtime')");
$new_id = mysqli_insert_id();
$mysqli->query("INSERT INTO `recievemsg`(`msgid`, `sendname`, `recievename`, `subject`, `body`, `mdate`, `mtime`, `status`) VALUES ($new_id,'$sendname','$recievename','$subject','$body','$msgdate','$msgtime','UNREAD')");
问题在于$new_id = mysqli_insert_id(); 语句,因为第一个查询正在执行
【问题讨论】:
-
既然您要升级到
mysqli,您应该花时间熟悉一下参数绑定和准备好的语句。 -
过程风格的
mysqli_*函数需要传递给它们的连接变量,这与mysql_*或mysqli的面向对象版本不同 -
你能给我一个关于如何从 mysql 转换为 mysqli 的详细教程的链接。我找不到一个好的
-
PHP manual 拥有您需要知道的一切
-
这能回答你的问题吗? How to change mysql to mysqli?
标签: php mysql mysqli insert-id