我一直在谷歌上搜索这个问题,但真的一无所获。人们只是继续在 last_insert_id 上复制 MySQL 文档,仅此而已。
我有一个关于 last_insert_id 的问题,因为对于这两种情况(php 和 sql)它都返回 0。
是:我设置了一个具有 AUTO_INCREMENT 值的 PRIMARY 和 UNIQUE 字段 是:我在否之前做了一些插入:使用 INSERT AND SELECT LAST... 进行双重查询不起作用。
我创建了一个类 Db 来维护连接和查询:
class Db
{
private function connect()
{
$db = new mysqli($this->db_host, $this->db_user, $this->db_pass, $this->db_name, $this->db_port);
if(mysqli_errno($db))
{
file_put_contents(date('Y-m-d').'mysql_error.txt',mysqli_error($db),FILE_APPEND | LOCK_EX);
echo "Connection error";
exit();
}
else
{
return $db;
}
}
public function insert($i_what, $i_columns, $i_values, $i_duplicate='') {
$insert = $this->connect()->query("INSERT INTO ".$i_what.$i_columns.$i_values.$i_duplicate);
$last_id = $this->connect()->insert_id;
$this->connect()->close();
return $last_id; }
}
id int(11) AUTO_INCREMENT PRIMARY UNIQUE
name varchar(32) utf8_general_ci
firstname varchar(64) utf8_general_ci
lastname varchar(64) utf8_general_ci
它不起作用。