你好我正在尝试使用PHP将数组中的值插入mysql表中的多行。
这基本上就是我正在做的事情:
$x=0;
while($x < 40){ <----the 40 is the size of the array
$nameinsert=$name[$x];
$sql = "INSERT INTO mytable VALUES ('','$nameinsert')";
$x++;
}
return mysql_query($sql);
显然解决方案会很棒,但我的主要问题是为什么这不起作用?为什么它只插入数组中的最后一个值?
我可以告诉它应该:
从数组中获取值 插入表格 增加价值$ x 然后从数组中获取下一个值 然后将其插入表格
那为什么不呢?
答案 0 :(得分:1)
你应该写代码插入哪一列的值如下所示:
INSERT INTO mytable('name of column') VALUES('value here');
另外我不知道你为什么要放空值!
所以问题是为什么它只插入最后一个值?
因为你把查询的执行从while循环开始尝试像这样
$stmt = $dbConnection->prepare("INSERT INTO mytable VALUES ('', ?)");
if ($stmt) {
while($x < 40){ <----the 40 is the size of the array
$nameinsert = $name[$x];
$stmt->bind_param('s', $nameinsert);
$stmt->execute();
$x++;
}
$stmt->close();
}
现在发生了什么?
它将添加它的第一个值并通过mysql_query()执行查询,之后它会增加值并执行seconde值.... etc