fetch_assoc()-6ren">
gpt4 book ai didi

php - 如何在 while 循环中使用 $mysqli->result?

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

我正在处理从表中检索到的数据

<?php
$result=$mysqli->query("SELECT value1, value2 FROM table1");
while($row=$result->fetch_assoc())
{
$value1 = $row['valu1'];
$value2 = $row['value2'];

$mysqli->query("INSERT IGNORE INTO table2 (value1) VALUES ('$value1')");
$result2 = $mysqli->query("SELECT id FROM table2 WHERE value1='$value1'");
$row2 = $result2->fetch_assoc();
$column1_id = $row2['id'];
$result2->close();

$mysqli->query("INSERT IGNORE INTO table3 (value2) VALUES ('$value2')");
$result3 = $mysqli->query("SELECT id FROM table3 WHERE value1='$value2'");
$row3 = $result3->fetch_assoc();
$column2_id = $row3['id'];
$result3->close();

$mysqli->query("INSERT INTO table4 (value1,value2) VALUES ('$value1','$value2')");
}
?>

但问题是子$result 会和父对象混淆,while 循环只会在第一个循环中起作用。

最佳答案

更好的应该是这样

insert ignore into table2 (value1) select value1 from table1;
insert ignore into table3 (value2) select value2 from table1;
insert ignore into table4 (value1, value2) select value1, value2 from table1

这是优化的,我认为你需要 SELECT id .. and loop
(我看不到你在你的例子中使用了结果)

关于php - 如何在 while 循环中使用 $mysqli->result?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9849485/

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