猿问

下面这个Warning:怎么解决啊?

$link=mysqli_connect("localhost","root","") or die("数据库连接失败Error:".mysqli_errno().":".mysqli_error()); mysqli_set_charset($link,"utf8"); mysqli_select_db($link,"db_tb") or die ("制定数据库打开失败"); $username=$_POST['username']; $password=md5($_POST['password']); $verify=$_POST['verify']; $verify1=$_SESSION['verify']; if($verify==$verify1){ $sql="select * from tb_user where user_name='{$username}' and user_password='{$password}'"; function checkAdmin($sql){ return fetchOne($sql); } $row=checkAdmin($sql); if($row){ $_SESSION['adminName']=$row['user_name']; $_SESSION['adminId']=$row['user_id']; alertMes("登陆成功","index.php"); }else{ alertMes("登陆失败,重新登陆","shouye.php"); } }else{ alertMes("验证码错误","shouye.php"); } ?>

慕尼黑5688855
浏览 99回答 1
1回答

有只小跳蛙

即然你是用类封装mysql操作,那应该把所有操作都放到类中!如果实在要这么做,那给你改一下试试行不行classmysqlis{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();}functionconnect(){$this->Conn=mysqli_connect($this->host,$this->name,$this->pass,$this->sqlname)ordie("数据库连接错误");}}$mysql=newmysqlis("localhost","dafddf","dfdfgfg","test");$sql="select*fromarchiveswheretitlelike'%说说%'";$query=mysqli_query($mysql->Conn,$sql);?>你这出现错误,是因为,msyqli_query()函数的第一个参数,必须是msyqli_connect()函数操作成功后返回的数据库连接标识,很明显,你这个$msyql只是实例化后的classmysqlis这个类本身,并不是数据库连接返回的标识,那当然无法query查询!mysqli比不msyql函数,mysql函数是可以省略数据库连接标识的,默认为上一个连接,而mysqli函数不行,必须提供这个参数!
随时随地看视频慕课网APP
我要回答