首頁  >  文章  >  後端開發  >  為什麼我的 MySQL INSERT 語句會拋出「列計數不符」錯誤?

為什麼我的 MySQL INSERT 語句會拋出「列計數不符」錯誤?

Patricia Arquette
Patricia Arquette原創
2024-10-31 23:25:28749瀏覽

Why Does My MySQL INSERT Statement Throw a

MySQL INSERT 中的列計數不符

錯誤「列計數與第1 行的值計數不符」表示資料庫表中的列數以及INSERT 語句中提供的值的數量。

在提供的程式碼中,嘗試使用 INSERT 語句將值插入到名為「dbname」的表中。查詢列出了9 個欄位(「id」、「Name」、「Description」、「shortDescription」、「Ingredients」、「Method」、「Length」、「dateAdded」和「Username」),但只提供了8個值在VALUES 子句中。具體來說,“方法”值丟失。

列計數和值計數之間的不匹配會導致錯誤。若要解決此問題,請確保查詢包含正確的列數和值。在這種情況下,請在執行 INSERT 語句之前新增「Method」列的值。

以下是添加了缺失值的修改後的代碼:

<code class="php">$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), // Method value added
    mysql_real_escape_string($length),
    mysql_real_escape_string($dateAdded),
    mysql_real_escape_string($username));</code>

透過提供正確的數字INSERT語句中所列的值,可以避免錯誤,並且資料可以成功插入資料庫。

以上是為什麼我的 MySQL INSERT 語句會拋出「列計數不符」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn