0

警告: mysql_fetch_assoc() は、パラメーター 1 がリソースであると想定しています。ブール値が指定されています

私のコードphpは:

function getResourceLevel($vid) {
        $q = "SELECT * from " . TB_PREFIX . "fdata where vref = $vid";
        $result = mysql_query($q, $this->connection);
        return mysql_fetch_assoc($result);
    }

私を助けてください

4

3 に答える 3

1

mysql_query()がfalseを返したようです。

これは、mysql構文のエラー、または要求したデータベーステーブルにアクセスするための権限の欠如が原因である可能性があります。

いずれの場合も、mysql_error()を呼び出してみてください。これにより、最後のmysql関数で何が問題になったかを最もよく推測できる文字列が返されます。

編集:いくつかのコメントで述べたように、mysql_ *関数の使用は推奨されていないため、機会があれば、mysqliまたはPDOMySQL拡張機能を使用するようにコードを更新する必要があります。さらに良いことに、 Zend DBのようなものを使用して、データベースAPIから1つ離れたレイヤーに移動します。

于 2012-09-01T08:01:08.047 に答える
0

クエリをエコーし​​て、いくつかの mysql クエリ ブラウザで実行し、必要な結果が得られるかどうかを確認してください。

function getResourceLevel($vid) {
    $q = "SELECT * from " . TB_PREFIX . "fdata where vref = $vid";
    echo $q;
    $result = mysql_query($q, $this->connection);
    return ($result) ? mysql_fetch_assoc($result) : false;
}
于 2012-09-01T08:46:12.680 に答える
0

これを試して

function getResourceLevel($vid) {
        $q = "SELECT * from " . TB_PREFIX . "fdata where vref = $vid";
        $result = mysql_query($q, $this->connection) || die(mysql_error());
        return mysql_fetch_assoc($result);
    }

|| die(mysql_error())ステートメントに注意してください。

これにより、コードが停止し、false として返される SQL エラーが表示されます。

お役に立てれば。

于 2012-09-01T12:58:44.223 に答える