gpt4 book ai didi

PHP 关联数组 如果表中不存在数据则插入

转载 作者:行者123 更新时间:2023-11-29 13:09:04 26 4
gpt4 key购买 nike

我在 PHP 中有一个关联数组,它将数据插入到表中

foreach($array as $key => $value){
$query = "INSERT INTO live_list (file_id, date) SELECT ('$key', '$value') FROM dual WHERE NOT EXISTS (SELECT * FROM live_list WHERE file_id = '$key')";
mysqli_query($link, $query) or die('Query failed: ' . mysqli_error($link));
}

但是,由于我已从索引数组转移到关联数组,因此仅当数组中的数据在表中不存在时,我无法弄清楚如何插入此数据。

Query failed: Operand should contain 1 column(s)

现在我收到此错误

任何帮助都会很棒!

最佳答案

为什么使用子查询?

假设 file_id 是一个唯一字段(即整个表中没有重复项),如果它还不是表上的唯一索引,请将其设为唯一:

ALTER TABLE live_list
ADD UNIQUE (file_id)

并将您的查询更改为

INSERT INTO live_list (file_id, date) 
VALUES ('$key', '$value')
ON DUPLICATE KEY UPDATE date = date;

这意味着如果遇到重复的键,它将简单地将date 的值“更新”为已有的值。

尽管您应该绑定(bind)参数以防止 SQL 注入(inject)。

关于PHP 关联数组 如果表中不存在数据则插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22324696/

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