mysqlテーブルに成功することなく挿入しようとしているphp配列があります。このテーブル構造にはid(int auto increment increment primary key)とname(varchar)という2つのフィールドがあります。コードは次のとおりです。PHPの配列をmysqlテーブルに挿入する方法
<?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')
私が挿入していたレコードが重複する値が含まれていてもよいです。ご協力いただきありがとうございます!あなたがTABLE1にINSERTを使用する理由
id値を渡さないようにしてください。 $ testsql = "INSERT INTO table1(name)VALUES( '" $ arry。 "')"; –
idカラムに空の文字列を渡さないで、NULLを渡すか、カラムを省略することができます – ahmad