PDO預處理插入資料注意事項
阿新 • • 發佈:2019-02-10
如果當你使用pdo預處理插入一條資料時候,報錯
<?php
$dsn = 'mysql:dbname=test;host=127.0.0.1';
$user = 'root';
$password = '';
try {
$dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
/* Execute a prepared statement by passing an array of values */
$sth = $dbh->prepare('INSERT INTO room (create_time,create_uid,exp_time,is_private) VALUES (?,?,?,?)');
$rs = $sth->execute(["2018-05-14 14:10:04",0,1526278504,1]);
var_dump($sth->errorInfo());exit;
報錯
array (size=3)
0 => string 'HY000' (length=5)
1 => int 1364
2 => string 'Field ' id' doesn't have a default value' (length=39)
這是由於你設計的表的主鍵沒有auto_increment
解決方法
可以加入自增長或者預處理語句中加入主鍵欄位