Rumah  >  Artikel  >  pangkalan data  >  Mengapa Skrip PHP Saya Membuang \"mysql_fetch_array(): Parameter 1 Harus Menjadi Sumber\"?

Mengapa Skrip PHP Saya Membuang \"mysql_fetch_array(): Parameter 1 Harus Menjadi Sumber\"?

Patricia Arquette
Patricia Arquetteasal
2024-11-01 16:42:02309semak imbas

Why Does My PHP Script Throw

mysql_fetch_array(): Parameter 1 Harus Menjadi Sumber

Dalam skrip PHP anda, anda menghadapi ralat "mysql_fetch_array() expects parameter 1 untuk menjadi sumber." Ini menunjukkan bahawa fungsi menerima jenis parameter yang salah.

Sumber Ralat

Isu ini berpunca daripada baris berikut:

<code class="php">$result = mysql_query("SELECT * FROM student WHERE IDNO=".$_GET['id']);</code>

Baris ini melaksanakan pertanyaan pada pangkalan data. Jika pertanyaan gagal atau jika tiada hasil, fungsi mengembalikan nilai boolean, menunjukkan kejayaan atau kegagalan pertanyaan. Walau bagaimanapun, fungsi mysql_fetch_array() menjangkakan sumber sebagai parameter pertamanya, yang merupakan hasil daripada pertanyaan yang berjaya.

Penyelesaian

Untuk menyelesaikan isu tersebut, anda harus semak nilai pulangan mysql_query() untuk memastikan ia adalah sumber. Anda boleh melakukan ini dengan menambahkan semakan ralat selepas baris pertanyaan:

<code class="php">$result = mysql_query("SELECT * FROM student WHERE IDNO=".$_GET['id']);
if (!$result) {
    die('Invalid query: ' . mysql_error());
}</code>

Ini akan memaparkan mesej ralat dan menamatkan skrip jika pertanyaan gagal.

Pertimbangan Tambahan

Selain daripada isu ini, adalah disyorkan untuk menggunakan sambungan MySQLi atau PDO yang dipertingkatkan untuk interaksi pangkalan data dan bukannya fungsi mysql_* yang tidak digunakan lagi. Sambungan ini menyediakan ciri keselamatan dan prestasi yang dipertingkatkan.

Atas ialah kandungan terperinci Mengapa Skrip PHP Saya Membuang \"mysql_fetch_array(): Parameter 1 Harus Menjadi Sumber\"?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn