gpt4 book ai didi

php - 使用 PHP 循环更新整个列的 SQL 连接语句

转载 作者:行者123 更新时间:2023-11-30 22:05:28 25 4
gpt4 key购买 nike

我需要用第二个表中的新的唯一电话号码更新整个列。我似乎在正确的轨道上......但我的循环逻辑有问题。

据我所知,我正在正确返回匹配项,但是当我尝试更新表格中的整个列时,它会在每一行中插入最后一个电话号码。

$query = "SELECT matched.duns, matched.new_p1, users_data.temp_duns
FROM matched
INNER JOIN users_data ON temp_duns
WHERE temp_duns = duns LIMIT 10";
$result = mysqli_query($connection, $query);

foreach ($result as $key => $val) {
if($val['duns'] === $val['temp_duns']) {
$final_query = "UPDATE users_data SET phone_number = " . $val['new_p1'];
$final_result = mysqli_query($connection, $final_query);
echo $counter . "DUNS From matched: " . $val['duns'] . " DUNS From users_data: " . $val['temp_duns'] . " NEW PHONE: ". $val['new_p1']. "<br>";
}
}

我完全是个新手,但如有任何帮助,我们将不胜感激。

最佳答案

只需在一次调用中运行更新查询,无需循环,在 MySQL 中可以使用 INNER JOIN:

UPDATE user_data u
INNER JOIN matched m ON u.temp_duns = m.temp_duns
SET u.phone_number = m.new_p1;

或者对于 10 的限制:

UPDATE user_data u
INNER JOIN (SELECT * FROM matched LIMIT 10) m ON u.temp_duns = m.temp_duns
SET u.phone_number = m.new_p1;

关于php - 使用 PHP 循环更新整个列的 SQL 连接语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41916162/

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