php mysqli error mysql_fetch_row()

时间:2013-06-11 23:11:20

标签: php mysql mysqli

我想要make函数检查特定数据是否在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 个答案:

答案 0 :(得分:2)

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

$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()来匹配您的查询功能。

答案 1 :(得分:1)

您正在使用mysqli_*查询

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

然后使用mysql_*提取

mysql_fetch_row($is_ok);

尝试使用mysqli_ fetch_row

mysqli_fetch_row($is_ok);
     ^

答案 2 :(得分:1)

您无法将mysqli_query结果用于mysql_个功能。显然,您想使用mysql_query。另外,为了以防万一,请事先确保connected to mysql

答案 3 :(得分:1)

您正在使用mysql_fetch_row()来获取查询结果。但是,不推荐使用mysql_fetch_row()。读这个: http://php.net/manual/en/function.mysql-fetch-row.php

请使用mysqli_fetch_row()获取结果。