PHP:将数组数据插入 MySQL 数据库

Posted

技术标签:

【中文标题】PHP:将数组数据插入 MySQL 数据库【英文标题】:PHP: Insert array data into MySQL Database 【发布时间】:2014-02-09 06:07:52 【问题描述】:

我有以下名为 $people 的数组,这是我使用 print_r() 得到的输出:

数组(

[0] => "Zyzz","健身","21","男性"

[1] => "阿诺德","健美","23","男"

[2] => "杰夫","健身","19","男"

)

如何将这些值插入我的 mysql 数据库?

我有一个模糊的想法是:

$sql=" INSERT INTO Famous (name,type,age,sex) VALUES ($people)";

mysql_query($sql);

我怎样才能正确地做到这一点?

提前致谢

【问题讨论】:

你确定那是你的 pint_r()???? 【参考方案1】:

如果你做了一个像这样的 foreach 循环会怎样

foreach($people as $person)

然后在您的查询中使用 $person 变量。 foreach 只会迭代您的数组。但是,您的数组的值似乎不正确。你确定那是确切的 print_r 吗?

【讨论】:

【参考方案2】:
$sql = "INSERT INTO famous (name,type,age,sex) VALUES ";
foreach($people as $p)

$sql .= '('.$p.'),';

$sql = rtrim($sql,',');
mysql_query($sql);

【讨论】:

@Brett Zamir Thx 更正!!你能告诉我如何在这个编辑器中换行吗?我只是用 换行 嗨,我认为这不起作用,如果我回显 $sql 语句,我会得到 [...] VALUES ("Zyzz","fitness","21","Male")( “阿诺德”、“健美”、“23”、“男”)(“杰夫”、“健身”、“19”、“男”) 所以这不是一个有效的查询,记住每个“值”都在不同的列中 他们之间有一个逗号分隔符检查一下 值 ("Zyzz","fitness","21","Male"),("Arnold","bodybuilder","23","Male") ,("Jeff", "健身","19","男")【参考方案3】:

只需执行以下操作:

foreach($people as &$person) 
    $person = '('.$person.')';

$sql = "INSERT INTO famous (name,type,age,sex) VALUES " . implode (",", $people);
mysql_query($sql);

【讨论】:

以上是关于PHP:将数组数据插入 MySQL 数据库的主要内容,如果未能解决你的问题,请参考以下文章

PHP将生成的数组插入MySQL数据库[重复]

将数组数据插入mysql表的高效php代码?

PHP PHP:使用数组将数据插入MySQL表[mysql] [php] [array] [INSERT]

将php数组插入mySql

使用 PHP 将 _nested_ 数组插入 MySQL 数据库

PHP:使用数组[MySQL][PHP][Array][Insert]将数据插入MySQL表