Rumah  >  Artikel  >  pangkalan data  >  Mengapakah ralat \"mysql_fetch_array() menjangkakan parameter 1 sebagai masalah sumber\" berlaku dan bagaimana untuk menyelesaikannya?

Mengapakah ralat \"mysql_fetch_array() menjangkakan parameter 1 sebagai masalah sumber\" berlaku dan bagaimana untuk menyelesaikannya?

DDD
DDDasal
2024-11-02 12:53:30430semak imbas

Why does

"Mysql_fetch_array() menjangkakan parameter 1 menjadi masalah sumber [pendua]" - Memahami dan Menyelesaikan Ralat

Ralat " mysql_fetch_array() menjangkakan parameter 1 menjadi masalah sumber" timbul apabila fungsi mysql_fetch_array() tidak menerima sumber yang sah sebagai hujah pertama. Ini biasanya berlaku apabila panggilan mysql_query() sebelumnya gagal mendapatkan data daripada pangkalan data.

Untuk menyelesaikan ralat ini, adalah penting untuk melakukan semakan ralat selepas panggilan mysql_query(). Contoh berikut menunjukkan cara menambah semakan ralat pada kod yang disediakan:

<br>$result = mysql_query("SELECT * FROM student WHERE IDNO=" . $_GET['id']) ;<br>jika (!$result) { // Tambahkan semakan ralat ini.</p>
<pre class="brush:php;toolbar:false">die('Invalid query: ' . mysql_error());

}

Apabila mysql_query() gagal, ia kembali palsu, nilai boolean. Jika anda menghantarnya kepada mysql_fetch_array(), mengharapkan objek hasil mysql, anda akan menghadapi ralat yang dinyatakan.

Berikut ialah kod yang ditulis semula dengan semakan ralat:


$ con = mysql_connect("localhost", "root", "nitoryolai123$%^");
jika (!$con) {

die('Could not connect: ' . mysql_error());

}

mysql_select_db("school ", $con);
$result = mysql_query("SELECT * FROM student WHERE IDNO=" . $_GET['id']);
if (!$result) {

die('Invalid query: ' . mysql_error());

}

while ($row = mysql_fetch_array($result)) {

?>
<table class="a" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#D3D3D3">
    <tr>
        <form name="formcheck" method="get" action="updateact.php" onsubmit="return formCheck(this);">
            <td>
                <table border="0" cellpadding="3" cellspacing="1" bgcolor="">
                    <tr>
                        <td colspan="16" height="25" style="background:#5C915C; color:white; border:white 1px solid; text-align: left"><strong><font size="2">Update Students</font></strong></td>
                    </tr>
                    <tr>
                        <td width="30" height="35"><font size="2">*I D Number:</font></td>
                        <td width="30"><input name="idnum" onkeypress="return isNumberKey(event)" type="text" maxlength="5" id='numbers' value="<?php echo $_GET['id']; ?>" /></td>
                    </tr>
                    <tr>
                        <td width="30" height="35"><font size="2">*Year:</font></td>
                        <td width="30"><input name="yr" onkeypress="return isNumberKey(event)" type="text" maxlength="5" id='numbers' value="<?php echo $row["YEAR"]; ?>" /></td>
                    </tr>
                </table>
            </td>
        </form>
    </tr>
</table>
<?php

}

Dengan memasukkan ralat menyemak ke dalam kod anda, kini anda boleh mengenal pasti dan mengendalikan potensi kegagalan mendapatkan semula pangkalan data dengan berkesan, menghalang ralat "mysql_fetch_array() menjangkakan parameter 1 sebagai masalah sumber".

Atas ialah kandungan terperinci Mengapakah ralat \"mysql_fetch_array() menjangkakan parameter 1 sebagai masalah sumber\" berlaku dan bagaimana untuk menyelesaikannya?. 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