gpt4 book ai didi

php - 从数组值查找数据库记录并将新的键和值插入数组

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

我有一个数组,我想从数据库向其添加另一个值,使用 [numo] 值查找记录,这是当前数组:

Array
(
[0] => Array
(
[numo] => 667820161009
)

[1] => Array
(
[numo] => 667820112001
)

这就是我想要实现的目标:

Array
(
[0] => Array
(
[id] => 33
[numo] => 667820161009
)

[1] => Array
(
[id] => 34
[numo] => 667820112001
)

我认为必须循环遍历数组,嵌套一个 SELECT 查询,然后插入新的键和值,但我不知道从哪里开始,并且搜索了又搜索。

非常感谢您的帮助

斯图

最佳答案

在不了解您的数据库(或者特别是该数据来自的表)的情况下,我的猜测是:

SELECT id FROM table WHERE numo = 667820112001

一些 PHP 与之配合:

<?php
$array = array(
array(
'numo' => 667820161009
),
array(
'numo' => 667820112001
)
);

$stmt = $pdo->prepare('SELECT id FROM table WHERE numo = :numo');
$stmt->bindColumn('id', $id);

foreach($array as &$child) {
$stmt->execute(array(
':numo' => $child['numo']
));

$child['id'] = ($stmt->fetch(PDO::FETCH_BOUND)) ? $id : null;

$stmt->closeCursor();
}
?>

但是您可以通过以下方式消除一些查询:

<?php
$array = array(
array(
'numo' => 667820161009
),
array(
'numo' => 667820112001
)
);

$numos = array()
foreach($array as $child) {
$numos[] = $child['numo'];
}

$stmt = $pdo->prepare('SELECT id FROM table WHERE numo IN ('.implode(',', $numos).')');
$array = $pdo->fetchAll();
?>

关于php - 从数组值查找数据库记录并将新的键和值插入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8282626/

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