0

我想要检查特定数据是否在 mysql 的 mydb 中的函数。我写了下面的函数,但我在这一行得到错误$is_ok_array=mysql_fetch_row($is_ok);有人可以帮我吗?对不起我的英语不好:)

它说: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

您的代码有两个问题,第一个是:

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

基于您在代码和命名后面的 if 语句中使用它的事实,它似乎$this->is_db_open是一个布尔值,指示您是否有与数据库的连接,而不是从mysqli_connect().

mysqli_query()期望第一个参数是连接对象,或者如果没有第二个参数则为查询。要么删除$this->is_db_open参数,它将默认为最近打开的数据库连接,或者将其替换为实际的连接对象。

您的第二个问题是您正在运行查询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_*fetch

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 回答
1

您正在使用 mysql_fetch_row() 来获取查询结果。但是 mysql_fetch_row() 已被弃用。阅读: http: //php.net/manual/en/function.mysql-fetch-row.php

请使用 mysqli_fetch_row() 获取结果。

于 2013-06-11T23:19:04.913 回答