PHP、MySQL 錯誤:列計數差異
錯誤「列計數與第1 行的值計數不符」表示不匹配SQL INSERT 語句中指定的列數與提供的值的數量之間。
在此特定中例如,您有以下程式碼:
$query = sprintf("INSERT INTO dbname (id, Name, Description, shortDescription, Ingredients, Method, Length, dateAdded, Username) VALUES ('', '%s', '%s', '%s', '%s', '%s', '%s', '%s')", mysql_real_escape_string($name), mysql_real_escape_string($description), mysql_real_escape_string($shortDescription), mysql_real_escape_string($ingredients), //mysql_real_escape_string($image), mysql_real_escape_string($length), mysql_real_escape_string($dateAdded), mysql_real_escape_string($username));
SQL 語句包含 9 個欄位:id、Name、Description、shortDescription、Ingredients、Method、Length、dateAdded 和 Username。但是,您只提供了 8 個值:$name、$description、$shortDescription、$ingredients、$length、$dateAdded、$username 和 $method。
要解決該錯誤,您需要新增方法列缺少值。確保您從輸入中捕獲方法資料。一旦你這樣做了,你的查詢應該是:
$query = sprintf("INSERT INTO dbname (id, Name, Description, shortDescription, Ingredients, Method, Length, dateAdded, Username) VALUES ('', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')", mysql_real_escape_string($name), mysql_real_escape_string($description), mysql_real_escape_string($shortDescription), mysql_real_escape_string($ingredients), mysql_real_escape_string($method), mysql_real_escape_string($length), mysql_real_escape_string($dateAdded), mysql_real_escape_string($username));
以上是為什麼我在 MySQL INSERT 語句中收到「列計數與第 1 行的值計數不符」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!