Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

php + kesalahan penyisipan mysql

Saya benar-benar mengambil skrip Anda, memuatnya ke server saya, membuat tabel database, dan menguji skrip.

Hanya satu baris yang dimasukkan per pengiriman.

Skrip Anda berfungsi dengan benar.

Namun, ada kesalahan dalam prosedur pengujian Anda.

Saya juga memeriksa konsol Firebug dan panggilan AJAX berfungsi seperti yang diharapkan.

Kecuali Anda memiliki diagnosis lain, saya rasa saya tidak dapat membantu Anda lebih jauh.

Peringatan Bug
Ada bug dalam kode Anda yang akan menyebabkan Anda sangat sedih dalam hidup Anda di tahun-tahun mendatang...

if($stmt){
   echo "thank you .we will be in touch soon";
}
else{
    echo "there was an error. try again later.";
}

Ini if pernyataan akan selalu bernilai benar sejak kueri dijalankan (kecuali tentu saja, MySQL tidak berjalan).

Yang Anda maksudkan adalah untuk melihat apakah penyisipan berhasil, dan untuk itu, Anda perlu memeriksa:

if($stmt->affected_rows){...}

$stmt->affected_rows akan mengembalikan -1 jika gagal atau +1 jika berhasil.

Strategi Debug
(1) Tambahkan bidang tambahan di Anda dengan stempel waktu sehingga Anda dapat melihat saat catatan dimasukkan. Ini akan memberi Anda lebih banyak wawasan tentang apa yang sedang terjadi.

(2) Kosongkan meja Anda dan coba kode Anda lagi. Anda mungkin berpikir Anda mendapatkan banyak sisipan tetapi bisa juga Anda menekan tombol kirim 4 kali.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kembalikan hanya satu baris dari tabel paling kanan untuk setiap baris di tabel paling kiri

  2. Catatan kloning SQL dengan indeks unik

  3. Konversi dari Microsoft SQL Server ke MySQL

  4. Dua gabungan kiri memberi saya data yang tidak benar (data ganda?) dengan MySQL

  5. mySQL MATCH di beberapa tabel