0

重複の可能性:
mysql_fetch_array() は、パラメータ 1 がリソースであると
想定しています。

これは私のコードです。以前は機能していましたが、現在は機能していません。

            <?php
        include("db.php");
        ob_start();


        $result=mysql_query("SELECT * FROM navigation order by pos asc");

        while($nav = mysql_fetch_array($result))
        {
            $id = $nav['navid'];    
            echo '<a href="' . $nav['link'] . '" target="'. $nav['target'] .'">';
            echo "<span class='link'>". $nav['text']. "</span></a>";
        }
        mysql_close($conn);
        ob_flush();
        ?>

誰でも問題を見ることができますか?

それは私にこのエラーを与えています:警告: mysql_fetch_array() は、パラメーター 1 がリソースであると想定しています。

ありがとう。

4

1 に答える 1

3

$resultがブール値の場合は ですfalse。これは、クエリがここで失敗したことを意味します。

$result=mysql_query("SELECT * FROM navigation order by pos asc");

ドキュメントを参照してください:

戻り値

SELECT、SHOW、DESCRIBE、EXPLAIN、および結果セットを返すその他のステートメントの場合、mysql_query() は成功するとリソースを返し、エラーの場合は FALSE を返します。

mysql_errorエラーの内容を知るために使用できます。

次の方法で警告を回避することもできます。

$result=mysql_query("SELECT * FROM navigation order by pos asc");

if ($result) {
    while($nav = mysql_fetch_array($result))
    {
    ...
    }
}

またmysql、PHP の拡張機能は非推奨であり、将来のバージョンで削除される可能性があることに注意してください。

于 2012-11-19T13:49:05.243 に答える