【发布时间】:2014-10-16 16:40:25
【问题描述】:
你有这样的代码
for ($i=0; $i<=count($query)+1 ; $i++)
{
$sql ="SELECT * FROM $tabella[$i] WHERE id='1'";
$result=mysql_query($sql);
$numrows=mysql_num_rows($result);
while($row = mysql_fetch_array($result))
{
$name=$row['name'];
$surname=$row['surname'];
INSERT INTO student (name,surname) Values ($name,$surname)
}
}
它只插入他找到的第一个表中的数据,所以只有一个名字和一个姓氏,而不是所有 id=1 的 $name 和 $surname
我该如何解决它
【问题讨论】:
-
ext/mysql 已弃用。考虑切换到更新的库。
-
我认为你应该考虑使用INSERT...SELECT而不是while循环。
-
替换 $sql ="SELECT * FROM $tabella[$i] WHERE id='1'"; for $sql ="SELECT * FROM $tabella[$i] WHERE id=$i";
-
谢谢...我正在考虑...但我找不到如何选择所有表的所有字段的方法。我试过 $sql="INSERT INTO Persons ( id,name,surname) SELECT '',name, surname FROM $tabella[$i]";但它不起作用
标签: php loops while-loop