Rumah >pangkalan data >tutorial mysql >Mengapa Saya Mendapatkan \'mysql_fetch_assoc(): argumen yang dibekalkan bukan sumber hasil MySQL yang sah\' Amaran dalam PHP?
"php warning mysql_fetch_assoc": Satu Kesilapan
Artikel ini membincangkan isu menghadapi "mysql_fetch_assoc(): argumen yang dibekalkan bukan amaran sumber hasil MySQL yang sah" apabila mengakses maklumat daripada pangkalan data MySQL menggunakan PHP.
Lazimnya, fungsi mysql_* dalam PHP beroperasi dengan cara tertentu, seperti yang dilihat di bawah:
<code class="php">$id = 1234; $query = 'SELECT name, genre FROM sometable WHERE id=' . $id; // $query is a string with the MySQL query $resource = mysql_query($query); // $resource is a *MySQL result resource* - a mere link to the result set while ($row = mysql_fetch_assoc($resource)) { // $row is an associative array from the result set print_r($row); // do something with $row }</code>
Dalam contoh ini, $resource mewakili sumber hasil MySQL yang sah, diperoleh daripada melaksanakan pertanyaan. Apabila sumber ini dihantar ke mysql_fetch_assoc, ia mengekstrak tatasusunan bersekutu daripada set hasil. Walau bagaimanapun, jika sesuatu selain daripada sumber hasil yang sah dihantar kepada mysql_fetch_assoc (cth., rentetan, objek atau boolean), fungsi tersebut menimbulkan ralat.
Satu perangkap biasa ialah menghantar sesuatu selain rentetan pertanyaan yang sah kepada mysql_query. Dalam kes sedemikian, mysql_query akan mengembalikan FALSE, yang bukan sumber hasil yang sah. Percubaan untuk menghantar FALSE kepada mysql_fetch_assoc akan mencetuskan amaran.
Atas ialah kandungan terperinci Mengapa Saya Mendapatkan \'mysql_fetch_assoc(): argumen yang dibekalkan bukan sumber hasil MySQL yang sah\' Amaran dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!