1. 程式人生 > >PDO預處理插入資料注意事項

PDO預處理插入資料注意事項

如果當你使用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
解決方法
可以加入自增長或者預處理語句中加入主鍵欄位