如何使用OOP PHP将最后一个id插入到mysql中?
发布时间:2020-12-13 16:04:24 所属栏目:PHP教程 来源:网络整理
导读:我有以下 PHP类,我使用它来连接到db并创建一个新实例: class db{ public $db_connection; public function __construct(){ $this-db_connection = new mysqli("127.0.0.1","user","passwd","table"); $this-db_connection-set_charset("utf8"); if($this-db
我有以下
PHP类,我使用它来连接到db并创建一个新实例:
class db{ public $db_connection; public function __construct(){ $this->db_connection = new mysqli("127.0.0.1","user","passwd","table"); $this->db_connection->set_charset("utf8"); if($this->db_connection->connect_errno) { echo "Failed to connect to database: " . $db_connection->connect_error; } } public function __destruct(){ return $this->db_connection->close(); } } 用于向数据库添加内容的代码: $db = new db(); $success = $db->db_connection->query( "INSERT INTO users( name ) VALUES( '".$_POST["firstname"].' )" ); 获取插入元素的ID: if($success){ $user_id = $db->db_connection->insert_id; echo $user_id; // outputs 0 } 即使我在数据库中有几个条目,我得到的值为0,还有另外一种方法吗? id也在表上有AUTO INCREMENT 注意:代码是简单的,而不是整个结构,但足以解释真正的问题. 解决方法
为什么要将INSERT与轮询插入ID分开?在这两种情况下,失败意味着您没有添加行.如果你在中间使用数据库链接做任何其他事情,你将遇到可能正在发生的事情的复杂情况.
if ($db->db_connection->query($insert)) { $user_id=$db->db_connection->insert_id; } else { // add some error handling/logging } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读