-2

次のエラーが表示されます。

警告: mysql_fetch_array() は、パラメーター 1 がリソースであると想定しており、34 行目の /home/rydes235/public_html/search-test.php で指定されたブール値です。

データベースにクエリを実行しようとしたとき。

私のクエリは次のとおりです。

    $query = mysql_query("SELECT postcode, ( 3959 * acos( cos( radians('$latitude') ) * cos( radians( lat ) ) * cos( radians( lng ) - radians('$longitude') ) + sin( radians('$latitude') ) * sin( radians( lat ) ) ) ) AS distance FROM uk_postcode_05 HAVING distance < 25 ORDER BY distance ASC LIMIT 0 , 5");

そして、次のように単純に表示しようとしています:

    while($row = mysql_fetch_array($query)){
    $town = ($row['town']);
    $country = ($row['country']);
    echo ($town.','.$country.'<br>');
}

(34 行目は mysql_fetch_array() 行です)。

私のmysqlテーブルには、郵便番号、町、国、経度、緯度、地域の列があります。

誰でも何か考えがありますか?さらに情報が必要な場合はお知らせください、ありがとう

4

1 に答える 1

0

mysql_fetch_array() を呼び出す前に、mysql_query がエラーを返さないことを確認する必要があります。

$query = mysql_query("...");
if ($query == false) {
    echo "Mysql error '". mysql_errno() . "' : " . mysql_error();
} else {
    ...
}

また、mysql_*() 関数は非推奨であるため使用を中止し、MySQLiを調べてデータベースを SQL インジェクションから保護する必要があります。

于 2013-02-08T21:59:32.020 に答える