Warning: mysqli_query() expects parameter 1 to be mysqli, object given in

亲们,麻烦看清楚是mysqli不是mysql<?phpclassmysqlis{private$host;private$name;private$pass;privat... 亲们,麻烦看清楚是mysqli 不是mysql
<?php
class mysqlis{
private $host;
private $name;
private $pass;
private $sqlname;

function __construct($host,$name,$password,$sqlname){
$this->host=$host;
$this->name=$name;
$this->pass=$pass;
$this->sqlname=$sqlname;
$this->connect();

}
function connect(){
mysqli_connect($this->host,$this->name,$this->pass,$this->sqlname) or die("数据库连接错误");

}
}
$mysql=new mysqlis("localhost","dafddf","dfdfgfg","test");
$sql="select * from archives where title like '%说说%'";
$query=mysqli_query($mysql, $sql);
?>
为什么会报错?
展开
 我来答
jiangxibaiyi
推荐于2018-05-10 · 跟随风去旅行-伤心的歌
jiangxibaiyi
采纳数:3973 获赞数:14412

向TA提问 私信TA
展开全部

即然你是用类封装mysql操作,那应该把所有操作都放到类中!

如果实在要这么做, 那给你改一下试试行不行

class mysqlis{
private $host;
private $name;
private $pass;
private $sqlname;
public  $Conn;

function __construct($host,$name,$password,$sqlname){
$this->host=$host;
$this->name=$name;
$this->pass=$pass;
$this->sqlname=$sqlname;
$this->connect();

}
function connect(){
          $this -> Conn = mysqli_connect($this->host,$this->name,$this->pass,$this->sqlname) or die("数据库连接错误");

}
}
$mysql=new mysqlis("localhost","dafddf","dfdfgfg","test");
$sql="select * from archives where title like '%说说%'";
$query=mysqli_query($mysql -> Conn, $sql);
?>

你这出现错误, 是因为, msyqli_query()函数的第一个参数, 必须是msyqli_connect()函数操作成功后返回的数据库连接标识, 很明显, 你这个$msyql只是实例化后的class mysqlis这个类本身, 并不是数据库连接返回的标识, 那当然无法query查询!

mysqli比不msyql函数, mysql函数是可以省略数据库连接标识的, 默认为上一个连接, 而mysqli函数不行, 必须提供这个参数!

miniappdltshxxyvklg7
2015-09-20 · 超过89用户采纳过TA的回答
知道小有建树答主
回答量:325
采纳率:0%
帮助的人:127万
展开全部
你把括号中$mysql去掉试试
追答
还有你的传值也不对一个是$pass一个是$password你肯定连不上数据库的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式