gpt4 book ai didi

php - 如何使用动态ID进行查询?

转载 作者:行者123 更新时间:2023-11-29 11:24:07 25 4
gpt4 key购买 nike

在我的代码中,我在 MySQL 表中插入一行(如果它不存在)。由于查询需要唯一索引,因此我只插入 $id,它只是 1 的静态值(第 8 行)。

public function prepare($author, $arr) {
$conn = new mysqli($this->servername, $this->username, $this->password, $this->db_name);

foreach ($arr as $value) {

$stmt = $conn->prepare("INSERT IGNORE INTO kh_comments(id, author,abstract) VALUES (?, ?, ?)");

$id = 1; // Just a static value

$stmt->bind_param("dss", $id, $author, $value['id']);
$stmt->execute();

$stmt->close();
$conn->close();
}
}

我现在想使用动态值而不是 1。变量 $id 应该足够聪明,能够找出哪个 ID 受到影响。或者如果有其他方法可以做到这一点,我很感激任何建议!

enter image description here

最佳答案

在 MySQL 中你可以定义 auto incrementcreate tablealter table 命令中使用 AUTO_INCRMENT 属性的字段:

CREATE TABLE animals (
id MEDIUMINT NOT NULL AUTO_INCREMENT,
name CHAR(30) NOT NULL,
PRIMARY KEY (id)
);

在插入期间,您只需不为该列分配任何值,MySQL 将自动为您分配其值:

INSERT INTO animals (name) VALUES
('dog'),('cat'),('penguin'),
('lax'),('whale'),('ostrich');

正如链接文档所述:

You can retrieve the most recent automatically generated AUTO_INCREMENT value with the LAST_INSERT_ID() SQL function or the mysql_insert_id() C API function. These functions are connection-specific, so their return values are not affected by another connection which is also performing inserts.

在 mysqli 中使用 mysqli_insert_id() function检索该值。

关于php - 如何使用动态ID进行查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38504445/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com