【发布时间】: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 或完全省略该列