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

Mysql + php dengan karakter khusus seperti '(Apostrof) dan (Tanda kutip)

String sql Anda akan menjadi:

INSERT INTO `table` (`row1`) VALUES ('google's site')

Yang bukan merupakan pernyataan yang valid. Seperti yang ditulis Nanne, lepas string setidaknya dengan mysql_real_escape_string :http ://php.net/manual/en/function.mysql-real-escape-string.php

Dan baca tentang injeksi sqlhttp://en.wikipedia.org/wiki/SQL_injection

Pikirkan sedikit:jika seseorang memposting ini:$_POST['text'] dengan nilai:');delete from table;....

Anda bisa mengucapkan selamat tinggal pada data Anda :)

Selalu filter/hindari masukan!

EDIT:Mulai PHP 5.5.0 mysql_real_escape_string dan ekstensi mysql tidak digunakan lagi. Silakan gunakan ekstensi mysqli dan fungsi mysqli::escape_string sebagai gantinya



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara memberikan nilai yang dihasilkan Pemicu ke Hibernate ValueObject?

  2. Kueri catatan aktif Codeigniter membutuhkan terlalu banyak waktu untuk memuat data dari database

  3. SQL-alchemy:ValueError terlalu banyak nilai untuk dibongkar?

  4. Fasih banyak-ke-banyak-ke-banyak - cara memuat hubungan jauh dengan mudah

  5. perbarui beberapa baris menggunakan batas di mysql?