gpt4 book ai didi

php - 如何从插入的数据中获取最后一个 ID?

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

我可以选择将多行发送到表中,我正在使用 foreach 来执行此操作:

if (is_array($add['jobname'])) {
$insert = "INSERT INTO job_offers (job_category, status) VALUES ";

foreach ($add['job_name'] as $key => $value) {

$insertedval[] = "
('" . safe($add['job_category'][$key]) . "',
'" . safe($add['status'][$key]) . "')";

}
}
$insert .= implode($insertedval, ",");

$last_id = db_query($insert, '+id?'); //gets the last generated ID, its a function that i created, and working great.

问题是我想获取最后一个 ID,而且我正在获取,但我正在向数据库中插入多行,并且我想从所有插入的值中获取 ID,因为它们正在发送同时。

我无法将 $last_id 变量放入 foreach 循环中,我该怎么办?

ps:我正在使用自动增量

最佳答案

你能尝试这样的事情吗?

$db = new PDO("mssql:host=$host;dbname=$dbname, $user, $pass");
$db->beginTransaction();
$stmt = $db->prepare('INSERT INTO job_offers (job_category, status) VALUES (?, ?)');

$insertedIds = array();
foreach ($add['job_name'] as $key => $value) {
$stmt->execute($add['job_category'][$key], $add['status'][$key]));
$id = $db->lastInsertId();
array_push($insertedIds, $id);
}

$db->commit();

ID 应该位于 InsertIds 中。

关于php - 如何从插入的数据中获取最后一个 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24467432/

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