Apa motif teknis mengapa seseorang tidak boleh menggunakan fungsi mysql_*? (mis. mysql_query(), mysql_connect() atau mysql_real_escape_string())?

Mengapa saya harus menggunakan sesuatu yang lain bahkan jika mereka bekerja di situs saya?

Jika mereka tidak berfungsi di situs saya, mengapa saya mendapatkan kesalahan seperti

Warning: mysql_connect(): No such file or directory

Ekstensi MySQL :

  • Sekarang tidak di bawah perkembangan energik Secara resmi tidak digunakan lagi pada PHP 5.5 (dirilis Juni 2013). 
  • Telah dieliminasi total pada PHP 7.0 (dirilis Desember 2015) 

Kemampuan ini yang pada 31 Des 2018 tidak lagi ada di model PHP mana pun yang didukung. 

Jika Anda menggunakan model PHP yang membantunya, Anda menggunakan model yang tidak akan memperbaiki masalah keamanan. 

Tidak memiliki antarmuka OO Tidak mendukung : 

  • Kueri non-pemblokiran dan asinkron Pernyataan yang disiapkan atau kueri berparameter Prosedur tersimpan Beberapa PernyataanTransaksi Teknik otentikasi kata sandi "baru" (diaktifkan secara default di MySQL 5.6; diperlukan di 5.7) Salah satu kinerja baru di MySQL 5.1 atau yang lebih baru
  • Karena sudah usang, penggunaannya membuat kode Anda jauh lebih sedikit bukti di masa depan.
  • Kurangnya bantuan untuk pernyataan terorganisir sangat penting karena mereka memberikan pendekatan yang lebih jelas, jauh lebih sedikit kesalahan untuk melarikan diri dan mengutip catatan eksterior daripada melarikan diri secara manual dengan panggilan fitur terpisah.

Lihat evaluasi ekstensi SQL.