我想要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";
}
}
答案 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()获取结果。