Rumah > pembangunan bahagian belakang > tutorial php > Mengapa Pernyataan INSERT MySQL Saya Membuang Ralat \'Column Count Mismatch\'?

Mengapa Pernyataan INSERT MySQL Saya Membuang Ralat \'Column Count Mismatch\'?

Patricia Arquette
Lepaskan: 2024-10-31 23:25:28
asal
856 orang telah melayarinya

Why Does My MySQL INSERT Statement Throw a

Ketakpadanan Kiraan Lajur dalam MySQL INSERT

Ralat "Kiraan lajur tidak sepadan dengan kiraan nilai pada baris 1" menunjukkan percanggahan antara bilangan lajur dalam jadual pangkalan data dan bilangan nilai yang disediakan dalam pernyataan INSERT.

Dalam kod yang disediakan, percubaan dibuat untuk memasukkan nilai ke dalam jadual bernama "dbname" menggunakan pernyataan INSERT. Pertanyaan menyenaraikan 9 lajur ("id", "Nama", "Penerangan", "shortDescription", "Ramuan", "Kaedah", "Panjang", "tarikhTambah" dan "Nama Pengguna"), tetapi hanya 8 nilai disediakan dalam klausa VALUES. Secara khususnya, nilai "Kaedah" tiada.

Ketidakpadanan antara kiraan lajur dan kiraan nilai ini membawa kepada ralat. Untuk menyelesaikannya, pastikan pertanyaan mengandungi bilangan lajur dan nilai yang betul. Dalam kes ini, tambahkan nilai untuk lajur "Kaedah" sebelum melaksanakan pernyataan INSERT.

Berikut ialah kod yang diubah suai dengan nilai yang tiada ditambah:

<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>
Salin selepas log masuk

Dengan memberikan nombor yang betul daripada nilai untuk lajur dalam pernyataan INSERT, ralat boleh dielakkan dan data boleh berjaya dimasukkan ke dalam pangkalan data.

Atas ialah kandungan terperinci Mengapa Pernyataan INSERT MySQL Saya Membuang Ralat 'Column Count Mismatch'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan