我很困惑我在這裏做錯了什麼。mySQL PDO錯誤
我PDO聲明
$sql = "INSERT INTO my_tb (stud_user, stud,pass, stud_salt) VALUES (:username, :password, :salt)";
$stmt = $db->prepare($sql);
$stmt->execute(array(':username' => $student_username,':password' => $student_password,':salt' => $student_salt));
我的DB模式
CREATE TABLE IF NOT EXISTS `my_tb` (
`stud_id` int(11) NOT NULL AUTO_INCREMENT,
`stud_user` varchar(50) NOT NULL,
`stud_pass` varchar(50) NOT NULL,
`stud_salt` varchar(50) NOT NULL,
PRIMARY KEY (`stud_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
我將確保它有值之前呼應三個瓦爾。每當我執行此,我總是在這個錯誤結束:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[21S01]: Insert value list does not match column list: 1136 Column count doesn't match value count at row 1' in C:\Apache\htdocs\path\to\file.php:47 Stack trace: #0 C:\Apache\htdocs\path\to\file.php(47): PDOStatement->execute(Array) #1 {main} thrown in C:\Apache\htdocs\path\to\file.php on line 47
我的壞。我甚至沒有注意到這個逗號。巨大的感謝@TheOx。 –