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

Beralih situs web besar dari MySQL ke MySQLi

Tidak ada jawaban yang mudah untuk pertanyaan Anda karena hampir setiap cara sederhana untuk melakukan ini melibatkan melakukan hal-hal yang berbeda ketika aplikasi ditulis.

Jika Anda memiliki panggilan langsung ke fungsi mysql_* di seluruh kode Anda dan tidak ada lapisan abstraksi basis data tempat Anda melakukan kueri melalui kelas atau fungsi pembantu, maka Anda perlu mengedit setiap perintah.

Anda tidak bisa begitu saja menambahkan i ke perintah seperti mysql_query sebagai mysqli_query() secara prosedural membutuhkan parameter pertama untuk menjadi tautan ke db di mana dengan mysql_query() jika koneksi diberikan sama sekali, itu adalah parameter kedua.

Daripada hanya mengubah mysql_query(...) menjadi mysqli_query($link,.....) Saya akan merekomendasikan bahwa tidak ada waktu yang lebih baik untuk menempatkan lapisan abstraksi db pada tempatnya. Jadi gunakan fungsi misalnya sql_query() yang benar-benar memproses kueri Anda sehingga di masa mendatang jika Anda perlu mengubah DB lagi, Anda bisa memperbarui perintah khusus db dalam satu file abstraksi. Dengan begitu jika Anda menulis sebuah fungsi yang membungkus mysqli_query maka Anda dapat dengan mudah mengganti nama mysql_query() Anda menjadi fungsi pembantu dan membiarkan fungsi pembantu khawatir tentang menempatkan tautan di sana.

Meskipun itu adalah cara paling sederhana, itu tidak akan mengikat parameter atau menyiapkan pernyataan yang merupakan faktor utama dalam mencegah kerentanan injeksi sql

Setelah Anda mengubah semua perintah ini, Anda perlu menguji.

Jika Anda tidak memiliki tes otomatis yang ditulis maka ini mungkin saat yang tepat untuk mulai menulisnya. Meskipun Anda perlu memeriksa bahwa setiap perubahan telah berhasil, jika Anda melakukannya dengan pengujian otomatis maka Anda dapat menghindari rasa sakit itu di masa mendatang.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara mencetak setiap item yang dihasilkan dari kelompok demi pernyataan

  2. Permintaan SQL untuk mendapatkan subtotal dari beberapa baris

  3. MySQL:UPDATE tabel dengan COUNT dari tabel lain?

  4. Mendapatkan 5 karakter string terakhir dengan kueri mysql

  5. Kesalahan MySQL pada CREATE TABLE untuk hubungan banyak-ke-banyak