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

mysqli_connect Kesalahan Fatal:memerlukan ()

Dua masalah TERBESAR dengan kode dan "solusi" Anda:

  1. Anda memiliki @ operator di mana-mana. Untuk itu Anda memiliki -1 suara untuk pertanyaan Anda. @ operator adalah kejahatan itu sendiri. TI bertanggung jawab atas halaman kosong yang Anda lihat.
  2. Namun, obat yang Anda pilih memperburuk keadaan. Hal "ATAU mati" ini bukanlah mantra ajaib untuk menyelesaikan masalah pelaporan kesalahan. Dan digunakan secara tidak benar akan menyebabkan kesalahan seperti yang Anda miliki. Yang Anda miliki 1 dalam pesan kesalahan.

Pertama-tama, penyertaan Anda baik-baik saja, jadi, biarkan saja.

Sedangkan untuk mendapatkan error dari mysqli, ikuti petunjuk berikut:

Daripada menambahkan "atau mati" secara acak, Anda memerlukan solusi pelaporan kesalahan yang lebih andal dan bermanfaat.

Jika Anda menggunakan mysqli_query() di seluruh kode aplikasi tanpa merangkumnya ke dalam beberapa kelas pembantu, trigger_error() adalah cara yang baik untuk meningkatkan kesalahan PHP, karena ini akan memberi tahu Anda juga file dan nomor baris tempat kesalahan terjadi

$res = mysqli_query($mysqli,$query) or trigger_error(mysqli_error($mysqli)."[$query]");

di semua skrip Anda
dan sejak itu Anda akan diberi tahu alasannya, mengapa objek tidak dibuat.(Jika Anda penasaran dengan or ini sintaks, Saya sudah menjelaskannya di sini - itu juga menjelaskan mengapa Anda memiliki (1) dalam pesan kesalahan)

Namun , jika Anda merangkum kueri Anda ke dalam beberapa kelas, file dan baris dari kesalahan pemicu akan sangat tidak berguna karena mereka akan menunjuk ke panggilan itu sendiri, bukan kode aplikasi yang menyebabkan masalah tertentu. Jadi, ketika menjalankan perintah mysqli yang dienkapsulasi, cara lain harus digunakan:

$result = $mysqli->query($sql);
if (!$result) {
    throw new Exception($mysqli->error." [$query]");
}

karena Pengecualian akan memberi Anda jejak tumpukan , yang akan mengarahkan Anda ke tempat asal kueri yang salah.

Perhatikan bahwa Anda harus dapat melihat kesalahan PHP secara umum. Di situs langsung Anda harus mengintip log kesalahan, jadi, pengaturannya harus

error_reporting(E_ALL);
ini_set('display_errors',0);
ini_set('log_errors',1);

sementara di server pengembangan lokal tidak apa-apa untuk membuat kesalahan di layar:

error_reporting(E_ALL);
ini_set('display_errors',1);

dan tentu saja Anda tidak boleh menggunakan operator penekan kesalahan (@) di depan pernyataan Anda.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menambahkan tabel dengan KUNCI ASING ke database MySQL menyebabkan kesalahan 150

  2. MYSQL secara otomatis memasukkan file csv dari folder menggunakan mysqlimport

  3. kesalahan pemasangan mysql-python:Tidak dapat membuka sertakan file 'config-win.h'

  4. Bagaimana cara membuat matriks dinamis di php?

  5. Pilih dan Perbarui dalam kueri yang sama