我不知道,我的代码中有什么不对.我尝试获取最新的插入ID,它回显0?任何的想法?
public function __construct() {
$this->mysqli = new mysqli(MYSQLI_SERVER, MYSQLI_USER, MYSQLI_PWD, MYSQLI_DBNAME) or die ('Error with connecting to the database!');;
}
public function insert_id(){
return $this->mysqli->insert_id;
}
$db->query("INSERT INTO user(f_name, l_name) VALUES('$f_name', '$l_name')");
var_dump($db->insert_id()); // return 0?
Run Code Online (Sandbox Code Playgroud)
Adn*_*nan 13
您应该按如下方式使用它:
<?php
$mysqli = new mysqli(SQLI_SERVER, MYSQLI_USER, MYSQLI_PWD, MYSQLI_DBNAME);
if ($result = $mysqli->query("INSERT INTO user(f_name, l_name) VALUES('$f_name', '$l_name');")) {
echo 'The ID is: '.$mysqli->insert_id;
}
?>
Run Code Online (Sandbox Code Playgroud)
小智 5
mysqli_insert_id()函数返回由具有AUTO_INCREMENT属性的列的表上的查询生成的ID.如果最后一个查询不是INSERT或UPDATE语句,或者如果修改后的表没有具有AUTO_INCREMENT属性的列,则此函数将返回零.
看起来您没有具有AUTO_INCREMENT属性的字段,或者您在查询中没有使用它.
| 归档时间: |
|
| 查看次数: |
36952 次 |
| 最近记录: |