【发布时间】:2017-04-13 12:32:56
【问题描述】:
大家好,我整个星期都在努力解决这个问题。我想用数组设置我的表“isim”列。但是机器人在所有行中都用 array[1] 填充了这一列。我想用数组的每个元素设置每一行,但它总是用相同的元素填充。这是相关代码:
for($a=0; $a<=29; $a++){
//echo ($dizi[1][$a]."<br />");
foreach (array($dizi[1][$a]) as $dizipub2){
$query = $db->prepare("UPDATE diziler SET diziisim=?");
$Insert = $query->execute(array("$dizipub2"
)); break;
if ($Insert){
$last_id = $db->lastInsertId();
echo ("Kaydedildi");break;}
}
我尝试在 echo 之前删除 // ,它的输出是什么。这是正确的。完美地赋予元素。我猜foreach有问题。我该怎么做?
【问题讨论】:
-
这根本不是 SQL 语言的工作方式。你不能制定自己的命令并期望它们起作用。请开始阅读您使用的工具的文档! SQL 对数组一无所知。它仅适用于标量值。
-
您的 foreach 正在创建一个 $dizi[1][$a] 数组,对吗?您应该使用 foreach($dizi[1][$a] as $dizipub2),但前提是 $diz[1][$a] 返回一个数组。此外,您在 foreach 中放置了一些中断,最后一个是无用的,中间的会阻止您的 if($insert) 测试运行
-
了解 break 是无用的,谢谢。是的,它正在创建一个数组,它返回一个数组,一切正常,无需使用 db
-
@arkascha 我知道了,但每个人都这样说。还阅读了有关 sql 的文档,但它没有以我的方式解释有关将数组插入表的任何内容。我找不到其他任何东西,我自己也尝试了一些方法,遗憾的是它们不起作用:(你能举例说明吗?
-
抱歉,您希望我补充什么?我说了所有要说的:SQL 不支持数组。期间。
标签: php arrays phpmyadmin dbo