Heim  >  Artikel  >  Backend-Entwicklung  >  mysqli 出了点有关问题,大家来看看

mysqli 出了点有关问题,大家来看看

WBOY
WBOYOriginal
2016-06-13 12:44:47863Durchsuche

mysqli 出了点问题,大家来看看
我写了一个sqlhelper.class.php 工具类,他主要是实例化后能直接查询数据库。然后我使用的是mysqli写的,出了错误,不知道怎么解决,请看代码:

<?php<br />
<br />
//这是一个工具类,他主要是完成对mysql的直接操作<br />
<br />
class SQLHelper{<br />
<br />
<br />
public $hosts;<br />
public $username;<br />
public $password;<br />
public $database;<br />
<br />
<br />
//构造函数主要是完成mysqli的对象的初始化<br />
public function __construc($a,$b,$c,$d){<br />
<br />
$mysqli=new MySQLi($a,$b,$c,$d);<br />
if($mysqli->connect_error){<br />
die("数据库连接出错!".$mysqli->connect_error);<br />
}<br />
<br />
$mysqli->query("set names utf8") or die("数据库设置字符集出错!");<br />
<br />
}<br />
<br />
<br />
//下面是一个查询方法,你给我传一个sql语句,我给你返回一个二维数组<br />
public function dql($mysql){<br />
<br />
$res=$mysqli->query($mysql) or die("数据库查询出错!");//dql查询语句这里返回一个结果集,我们将结果集处理为二维数组,同时释放结果集内存<br />
$resarr=array();<br />
<br />
while($row=$res->fetch_row()){ //这里是结果集自拆,同时每拆一次产生一行数组式的数组,我们将其放在一个二维数组里面<br />
<br />
$resarr[]=$row;<br />
<br />
}<br />
<br />
//如果代码走到这里,表明二维数组已经取完,我们立即释放结果集内存,同时返回二维数组<br />
$res->free();<br />
return $resarr;<br />
<br />
}<br />
<br />
<br />
//关闭资源<br />
public function closeresource(){<br />
<br />
$mysqli->close();<br />
<br />
}<br />
<br />
<br />
<br />
}<br />
<br />
?>



实例化一个对象后,主要是提示构造函数里面的$mysqli没有定义,然后他不是一个对象,那么后面的代码都不能走。

Notice: Undefined variable: mysqli in D:\web\notebook\model\sql.php on line 30<br />
<br />
Fatal error: Call to a member function query() on a non-object in D:\web\notebook\model\sql.php on line 30

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn