Rumah >pangkalan data >tutorial mysql >Mengapa PHP Melemparkan Ralat \'mysql_query(): 3 bukan Sumber Pautan MySQL yang Sah\'?
Memahami "mysql_query(): 3 is not a valid MySQL-Link Resource" Ralat
Ralat "Amaran: mysql_query() : 3 bukan sumber MySQL-Link yang sah" ditemui apabila skrip PHP cuba melakukan pertanyaan pangkalan data menggunakan fungsi mysql_query tetapi ID sumber yang ditentukan (3 dalam kes ini) tidak sepadan dengan sambungan pangkalan data yang aktif.
Sambungan Gagal
Satu kemungkinan punca ralat ini ialah sambungan pangkalan data gagal. Ini boleh berlaku jika parameter sambungan yang diberikan kepada mysql_connect tidak betul atau jika pelayan pangkalan data tidak tersedia. Dalam kes sedemikian, fungsi mysql_connect akan mengembalikan nol, dan sebarang percubaan berikutnya untuk menggunakan ID sumber yang dikembalikan akan gagal.
Penutupan Sambungan Tidak Dijangka
Kemungkinan lain ialah sambungan pangkalan data telah ditutup secara tidak dijangka. Ini boleh berlaku disebabkan oleh panggilan ke mysql_close pada sumber sambungan atau ralat pangkalan data luaran yang menamatkan sambungan. Apabila ini berlaku, ID sumber masih wujud, tetapi ia tidak lagi sepadan dengan sambungan yang sah.
Menggunakan Semula Sambungan
Secara lalai, mysql_connect akan menggunakan semula sambungan sedia ada dengan parameter yang sama dan bukannya mencipta yang baharu. Tingkah laku ini boleh membawa kepada masalah jika sambungan yang sama digunakan untuk berbilang operasi pangkalan data yang mengganggu antara satu sama lain. Menetapkan parameter $new_link kepada true dalam mysql_connect boleh memaksa penciptaan sambungan baharu.
Cadangan
Sebaliknya, disyorkan untuk menggunakan sambungan MySQLi atau PDO untuk operasi pangkalan data sambungan mysql, yang sudah lapuk dan terhad dalam keupayaannya. Antara muka yang lebih baharu ini menyediakan ciri dan prestasi yang lebih baik serta lebih sesuai untuk versi MySQL moden.
Atas ialah kandungan terperinci Mengapa PHP Melemparkan Ralat \'mysql_query(): 3 bukan Sumber Pautan MySQL yang Sah\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!