-1

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

以下のphpのコードで次のエラーが発生します。


警告: mysql_fetch_assoc() は、パラメーター 1 がリソースであり、62行目の/Users/pubs/Sites3/parse/includes/parseAuthorSearch.phpで指定されたブール値であると想定しています警告: mysql_fetch_assoc() は、パラメーター 1 がリソースであり、 /Users/で指定されたブール値であると想定していますpubs/Sites3/parse/includes/parseAuthorSearch.phpの62行目


function findExactAuthorMatch($firstname, $lastname)
{
    $query22 = "SELECT COUNT(*) FROM authors WHERE lastname='".$lastname."' AND firstname='".$firstname."'";    
    $result22 = mysql_query($query22);
    $count22 = mysql_fetch_assoc($result22);
    if($count22 == 0) return false;
    else return true;
}
4

4 に答える 4

1

クエリが間違っています。PHPMyAdmin などで実行してみるか、エコーして一貫性があるかどうかを確認してください。

于 2012-07-10T20:26:58.190 に答える
1

mysql_query呼び出しが返された (ブール値)ように見えますが、有効であることを確認せずにfalse呼び出しています。mysql_fetch_assoc

これを試して:

$result22 = mysql_query($query22) or die('Invalid MySQL query: ' . mysql_error());

それはクエリがどこで死んだかを教えてくれます。

于 2012-07-10T20:27:31.320 に答える
0

これは、 return への以前の呼び出しを意味するため、フェッチする結果mysql_query()falseありません。これは、構文エラーなど、クエリに問題がある場合に発生します。

この場合、$result22isかどうかを確認してからfalse、次のように表示mysql_error()されます。

if ($result22 === false) {
    echo mysql_error();
    return false;
}
于 2012-07-10T20:28:33.017 に答える