如何将php数组插入mysql表

时间:2017-08-23 17:15:59

标签: php mysql arrays mysqli

我有一个php数组,我试图插入到mysql表中但没有成功,表结构有两个字段,id(int auto increment primary key)和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')

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

2 个答案:

答案 0 :(得分:1)

更改行

"dependencies": {
    "bcrypt-nodejs": "0.0.3",
    "body-parser": "^1.17.2",
    "express": "^4.15.3",
    "express-session": "^1.15.5",
    "jsonwebtoken": "^7.4.2",
    "mongoose": "^4.11.4",
    "mongoose-title-case": "0.0.4",
    "mongoose-validator": "^1.3.2",
    "morgan": "^1.8.2",
    "passport": "^0.3.2",
    "passport-facebook": "^2.1.1",
    "passport-google-oauth": "^1.0.0",
    "passport-twitter": "^1.0.4"

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

答案 1 :(得分:0)

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