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

MySQL tidak menghapus catatan

Pelajari sintaks string PHP dasar:

$sql = "DELETE FROM sv_info WHERE id='.$id.' LIMIT 1";
       ^--start of PHP string                       ^---end of PHP string

Anda membuat string kueri literal

DELETE FROM sv_info WHERE id='.4.' LIMIT 1

Perhatikan bagaimana upaya buruk Anda pada penggabungan string PHP sebenarnya menjadi bagian dari string kueri. Anda sudah MASUK string php, jadi Anda tidak dapat menjalankan PHP di dalam string itu - PHP tidak dapat disematkan/dieksekusi secara rekursif.

Salah satu dari ini akan bekerja:

$sql = "DELETE FROM sv_info WHERE id='$id' LIMIT 1";
$sql = "DELETE FROM sv_info WHERE id='" . $id . "' LIMIT 1";

tapi tentu saja, tetap membuat Anda rentan terhadap serangan injeksi sql .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kesalahan koneksi MySQL yang belum pernah saya lihat

  2. kesalahan 1064 (42000) saat mencoba menjalankan perintah mysqldump

  3. PHP mengambil data dari baris tabel dan menyimpannya ke variabel

  4. Posting fungsi Javascript dan panggil skrip php

  5. Nonaktifkan priv aman untuk memuat data di MySQL