sách gpt4 ai đã đi

php - 在单个查询中使用 mysql_insert_id

In lại 作者:行者123 更新时间:2023-11-29 12:11:45 25 4
mua khóa gpt4 Nike

好吧,不知道这在实践中是否像理论上一样简单,但我想知道。

我在该查询中有一个 INSERT 查询,我想提取 AUTO_INCRMENT 值,然后在同一查询中重用它。

Ví dụ

//values to be inserted in database table
$a_name = $mysqli->real_escape_string($_POST['a_name']);
$details = $mysqli->real_escape_string($_POST['details']);
$display_type = $mysqli->real_escape_string($_POST['display_type']);
$getId = mysqli_insert_id();

//MySqli Insert Query
$insert_row = $mysqli->query("INSERT INTO articles (a_name,details,display_type,date_posted) VALUES('$a_name','$details','$display_type$getId',CURRENT_TIMESTAMP)");

显然,我得到了一个空白值(我知道,因为mysqli_insert_id()在查询之前,但我已经尝试了所有我能做的,但没有结果如我所愿。有人可以帮助我如何实现这一目标

1 Câu trả lời

据我所知,这是不可能完成的。由于没有运行任何查询,MySQL 无法返回该查询的 ID。

  1. 您可以使用经典的方法,拉出前一条记录的 id 并为其加 1,这不是一个很好的解决方案,因为如果删除一条记录,自动增量值和最后一个值 +1 可能会有所不同。
  2. 运行多个查询,然后使用 insert_id(MySQLi 与您使用的不同,您最好使用评论中提到的 $db->lastInsertId();.
  3. 预先运行查询并将其存储为变量;

    chọnauto_increment FROM INFORMATION_SCHEMA.TABLES WHERE table_name = 'tablename'

我强烈推荐选项 2,它是实现您想要实现的目标的最干净、最可靠的方法。

关于php - 在单个查询中使用 mysql_insert_id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30551029/

25 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com