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

Kueri dengan parameter MySQL

Hati-hati dalam menggunakan interpolasi string untuk kueri SQL, karena ini tidak akan lolos dari parameter input dengan benar dan akan membiarkan aplikasi Anda terbuka terhadap kerentanan injeksi SQL. Perbedaannya mungkin tampak sepele, tetapi kenyataannya sangat besar .

Salah (dengan masalah keamanan)

c.execute("SELECT * FROM foo WHERE bar = %s AND baz = %s" % (param1, param2))

Benar (dengan pelolosan)

c.execute("SELECT * FROM foo WHERE bar = %s AND baz = %s", (param1, param2))

Ini menambah kebingungan bahwa pengubah yang digunakan untuk mengikat parameter dalam pernyataan SQL bervariasi antara implementasi DB API yang berbeda dan bahwa perpustakaan klien mysql menggunakan printf sintaks gaya alih-alih yang lebih umum diterima '?' marker (digunakan oleh mis. python-sqlite ).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sepuluh Alat GUI MySQL Teratas

  2. Bagaimana Fungsi OCTET_LENGTH() Bekerja di MySQL

  3. Ubah cap waktu Unix menjadi tanggal yang dapat dibaca manusia menggunakan MySQL

  4. Cara Mengatur Ulang Kata Sandi Pengguna Root MySQL

  5. MAX() – Temukan Nilai Maksimum dalam Kolom di MySQL