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

Kesalahan saat menghubungkan ke Database di server yang dihosting

Catatan tambahan: Dengan asumsi kredensial benar, diberikan kepada Anda oleh host web Anda.

Ada beberapa masalah dengan kode ini (diambil dari komentar yang Anda tinggalkan).

Pertama, tiga dari deklarasi Anda tidak dikutip dan diperlakukan sebagai konstanta.

Pelaporan kesalahan PHP akan memberikan pemberitahuan tentang konstanta yang tidak ditentukan.

Ini diperlakukan sebagai konstanta:

 $username=b31_16461744; 
 $pass=test123; 
 $dbname=b31_16461744_user; 

Anda juga mereferensikan variabel yang salah untuk nama pengguna menjadi $user yang seharusnya $username . Pelaporan kesalahan akan menandatangani pemberitahuan variabel yang tidak ditentukan.

Kemudian Anda mencampur mysql_ dengan mysqli_ sintaksis. API MySQL yang berbeda itu TIDAK bercampur. Anda harus menggunakan kode yang sama di seluruh kode Anda.

Sidenote:Pertanyaan lain yang Anda posting Akses ditolak untuk pengguna 'test123'@'192.168.0.38' (menggunakan kata sandi:TIDAK) Anda menggunakan sql306.byethost31.com untuk tuan rumah. Pastikan itu benar. Saya tidak tahu pengaturan apa yang tuan rumah ingin Anda gunakan.

<?php 
     $localhost="localhost"; 
     $username="b31_16461744"; 
     $pass="test123"; 
     $dbname="b31_16461744_user"; 
     $a= mysqli_connect($localhost, $username, $pass); 
     mysqli_select_db($a, $dbname); 
     if($a)
     { 
       echo "connected..";
     } 
     else 
     { 
       echo "not...!!"; 
     }
?>

atau cukup gunakan keempat parameter:

<?php 
     $localhost="localhost"; 
     $username="b31_16461744"; 
     $pass="test123"; 
     $dbname="b31_16461744_user"; 
     $a= mysqli_connect($localhost, $username, $pass, $dbname); 

     if($a)
     { 
       echo "connected..";
     } 
     else 
     { 
       echo "not...!!" . mysqli_error($a); 
     }
?>

Namun, else . Anda dengan gema tidak membantu Anda. Gunakan mysqli_error() untuk mendapatkan kesalahan yang sebenarnya.

Yaitu:or die("Error " . mysqli_error($a));

Contoh dari manual

$link = mysqli_connect("myhost","myuser","mypassw","mydb")
        or die("Error " . mysqli_error($link)); 

Referensi:

Tambahkan pelaporan kesalahan ke bagian atas file Anda yang akan membantu menemukan kesalahan.

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

Catatan tambahan: Menampilkan kesalahan hanya boleh dilakukan dalam pementasan, dan tidak pernah produksi



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. jenis mesin apa (InnoDB atau MyISAM) yang harus saya gunakan untuk database saya untuk situs web?

  2. alternatif untuk mysql_field_name di mysqli

  3. Bagaimana cara memformat tanggal dari stempel waktu di PHP?

  4. berikan variabel javascript ke php mysql pilih kueri

  5. insert_batch() Codeigniter dengan ribuan sisipan memiliki catatan yang hilang