gpt4 book ai didi

php - 使用 PHP 和 For 循环将数据输入到 MySQL 表

转载 作者:行者123 更新时间:2023-11-29 03:40:59 25 4
gpt4 key购买 nike

所以我在将数组放入 MySQL 表时遇到了一些问题。我的目标是将数组中的一个元素放入表格的一行中,但事实并非如此。

$cnt = count($array);
for($i = 0; $i < $cnt; $i++)
{
mysql_query("
INSERT INTO $groupname (id, name)
VALUES('', '".$array[$i]."')
", $conn1);
}

(id是自动递增的)

我希望这会将数组的第一个元素放在表格的第一行,第二个元素放在第二行,依此类推。相反,我的 table 看起来像这样

+----+-------+
| id | name |
+----+-------+
| 1 | Array |
+----+-------+

我假设它只是获取数组并将整个内容放在第一行。我该如何防止呢?我将如何每行处理一个元素?

编辑这是 var_dump

array(1) { [0]=> array(5) { [0]=> string(1) "0" [1]=> string(1) "1" [2]=> string(1) "2" [3]=> string(1) "3" [4]=> string(1) "4" } } 

出于测试目的,我只是将数字 0-4 按升序排列在数组的每个元素中

最佳答案

有几点需要说明:

不要调出要插入的 id 值。

看起来 $array[$i] 本身就是一个数组,因此请确保您使用的是正确的值。

您应该只构建插入查询并插入一次(参见下面的示例)。

$query = 'INSERT INTO ' . $groupname . ' (name) VALUES ';
foreach($array as $item) {
$query .= "('". $item['name'] . "'),"; // 'name' or whatever proper item in multidimensional array is.
}
$query = rtrim($query, ',');
mysql_query($query, $conn);

您确实需要考虑使用 mysqli_* 函数而不是 mysql_*,因为它们已被弃用。

您真的应该在查询中添加错误处理(即处理查询不起作用的情况并给自己一条错误消息。

关于php - 使用 PHP 和 For 循环将数据输入到 MySQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13961696/

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