首頁 > 資料庫 > mysql教程 > 為什麼我在 MySQL INSERT 語句中收到「列計數與第 1 行的值計數不符」錯誤?

為什麼我在 MySQL INSERT 語句中收到「列計數與第 1 行的值計數不符」錯誤?

DDD
發布: 2024-12-01 00:19:11
原創
866 人瀏覽過

Why am I getting a

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板