Menyelesaikan Masalah Ketersambungan Pangkalan Data dalam PHP
Menyambung kepada pangkalan data MySQL menggunakan PHP kadangkala boleh menimbulkan cabaran apabila berurusan dengan pangkalan data yang baru dicipta. Artikel ini meneroka ralat biasa yang dihadapi apabila PDO digunakan untuk menyambung ke pangkalan data yang wujud dalam PHPMyAdmin tetapi tidak dalam PHP.
Untuk memahami punca, adalah penting untuk mempertimbangkan dua kemungkinan:
<code class="sql">show databases;</code>
Kemudian, jalankan pertanyaan yang sama dalam PHP menggunakan sama ada PDO atau mysqli:
Untuk PDO:
<code class="php">$host = 'your db host'; $user = 'your db username'; $pass = 'your db password'; $pdo = new PDO("mysql:host=$host", $user, $pass, [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]); $databases = $pdo->query('show databases')->fetchAll(PDO::FETCH_COLUMN); var_dump($databases);</code>
Untuk mysqli:
<code class="php">$host = 'your db host'; $user = 'your db username'; $pass = 'your db password'; mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); $mysqli = mysqli_connect($host, $user, $pass); $databases = $mysqli->query('show databases')->fetch_all(); var_dump($databases);</code>
Bandingkan output untuk menentukan sama ada terdapat sebarang percanggahan. Jika pangkalan data berbeza, isunya terletak pada konfigurasi pelayan.
Untuk menyelesaikan isu salah konfigurasi pelayan, periksa fail konfigurasi PHPMyAdmin untuk memastikan ia menentukan pelayan yang betul.
Atas ialah kandungan terperinci Mengapa Kod PHP Saya Tidak Dapat Mencari Pangkalan Data Yang Wujud dalam PHPMyAdmin?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!