如何将php数组插入mysql表

Posted

技术标签:

【中文标题】如何将php数组插入mysql表【英文标题】:how to insert php array into mysql table 【发布时间】:2018-02-01 09:37:40 【问题描述】:

我有一个 php 数组,我试图插入 mysql 表但没有成功,表结构有两个字段,id(int 自增主键)和 name(varchar),代码是:

<?php


// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($connect->connect_error) 
die("Connection failed: " . $conn->connect_error);


//get values for array
$domains_test = $client->sites_web_domain_get($session_id, array('domain' => 
'%'));




foreach($domains_test as $domains)  

 $arr = explode('.', $domains['domain']);
 unset($arr[0]);
$arry = implode('.', $arr);


$testsql = "INSERT INTO table1 (id, name) VALUES ('','".$arry."')";

if (mysqli_query($conn, $testsql)) 
echo "New record created successfully";
 else 
echo "Error: " . $testsql . "<br>" . mysqli_error($conn);


mysqli_close($conn);



?>

查询将第一个值插入表中,但出现以下错误:

> New record created successfully
Error: INSERT INTO table1 (id, name) VALUES ('','john')
Error: INSERT INTO popular_domains2 (id, name) VALUES ('','fred')
Error: INSERT INTO popular_domains2 (id, name) VALUES ('','james')

我插入的记录可能包含重复值。感谢您的帮助!

【问题讨论】:

尽量不要传递 id 值。 $testsql = "INSERT INTO table1 (name) VALUES ('".$arry."')"; 不要为 id 列传递空字符串,您可以传递 NULL 或完全省略该列 【参考方案1】:

换行

$testsql = "INSERT INTO table1 (id, name) VALUES ('','".$arry."')";

$testsql = "INSERT INTO table1 (name) VALUES ('".$arry."')";

【讨论】:

嗨 Mizanur,感谢您的回复!这是我尝试的第一件事,但我仍然遇到同样的错误。 先清空表,然后再次运行查询。让我知道这一点。 嗨 Mizanur,结果还是一样,数组的第一个元素被插入到表中,然后我得到了其余的错误。感谢您的宝贵时间! 您是否更改了查询?我可以看看你的表结构还有错误吗? 您好,我已将查询更改为【参考方案2】:

根据您的帖子 ID 是自动增量和主键 那么为什么你使用 INSERT INTO table1 (id, name) VALUES ('','john') 。这是错误的,因为我将字段自动递增而不是手动。所以只需删除查询并将其粘贴 INSERT INTO table1 (name) VALUES (''john')

【讨论】:

以上是关于如何将php数组插入mysql表的主要内容,如果未能解决你的问题,请参考以下文章

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

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

如何使用PHP Wordpress将沙箱Paypal返回值插入MySQL表?

如何使用 PHP Wordpress 将沙箱 Paypal 返回值插入 MySQL 表?

PHP 数组作为单独的行插入 MySQL 表

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