0

mysqlのmydbに特定のデータがあるかどうかをチェックするmake関数が欲しいです。関数の下に書きましたが、この行のエラーが表示され$is_ok_array=mysql_fetch_row($is_ok);ます Can someone help me? 私の悪い英語を申し訳ありません:)

それは言う:mysql_fetch_row() expects parameter.私は私のSQLが正しく動作しないことを表現するそのエラーを検索しました。しかし、私のSQLクエリは機能しています。ここは

$query_add ="INSERT INTO notes1 (id,name,size,url,thumbnail_url,delete_url,delete_type)    VALUES('$_SESSION[userid]','$file_name','$file_size','$file_url','$file_thumbnail_url','$delete_url','$delete_type')";

-- 私の機能

protected function is_same($file_name,$file_size,$file_url,$file_thumbnail_url,$delete_url1,$delete_type1) {

    $query_same = "Select * From notes1 WHERE id='$_SESSION[userid]' and name='$file_name' and size='$file_size' and url='$file_url' and thumbnail_url='$file_thumbnail_url' and      delete_url='$delete_url1' and delete_type='$delete_type1'" or die (mysql_error());
    $is_ok = mysqli_query($this->is_db_open,$query_same);   

    if($is_ok) {
        $is_ok_array = mysql_fetch_row($is_ok);
    } else { 
        echo "Wrong query";
    }

    if($this->is_db_open) {

        echo count($is_ok_array);

        if((count($is_ok_array))>0) { 
            return true;
        } else {    
            return false;
        }

    } else {
        echo "Db not open";
    }
}
4

4 に答える 4

3

コードには 2 つの問題があります。1 つ目は次のとおりです。

$is_ok= mysqli_query($this->is_db_open,$query_same); 

コードの後半の if ステートメントと命名で使用しているという事実に基づいて、$this->is_db_openから返された接続オブジェクトではなく、データベースに接続しているかどうかを示すブール値のようですmysqli_connect()

mysqli_query()は、最初のパラメーターが接続オブジェクトであるか、2 番目のパラメーターがない場合はクエリであると想定しています。パラメータを削除する$this->is_db_openと、最近開いたデータベース接続がデフォルトになるか、実際の接続オブジェクトに置き換えられます。

2 番目の問題は、 でクエリを実行しmysqli_query()、 で結果を返すことmysql_fetch_row()です。mysqli_fetch_row()クエリ関数と一致させるために使用する必要があります。

于 2013-06-11T23:16:24.827 に答える
1

あなたはmysqli_*クエリを使用しています

mysqli_query($this->is_db_open,$query_same);
     ^

しかし、mysql_*フェッチを使用して

mysql_fetch_row($is_ok);

mysqli_fetch_rowを使用してみてください

mysqli_fetch_row($is_ok);
     ^
于 2013-06-11T23:15:44.120 に答える
1

mysqli_query関数で結果を使用することはできませんmysql_。どうやら、使用したいようmysql_queryです。また、念のため、事前に mysql に接続していることを確認してください。

于 2013-06-11T23:17:15.253 に答える