请问MYSQLI无法读取数据库问题

WBOY
Freigeben: 2016-06-23 13:49:58
Original
1062 Leute haben es durchsucht

<?phpclass mysqldb  {    var $host = DB_HOST;                   //localhost    var $user = DB_USER;                   //root    var $pass = DB_PASSWORD;               //1234    var $database = DB_DATABASE;           //t6_hp    var $conn;    var $sql;    var $n = 0;    var $m = 0;    var $result = "";    var $debug = false;    var $err = "";function mysqldb($host="", $user="", $pass="", $database="")	{      if ($host != "") $this -> host = $host;      if ($user != "") $this -> user = $user;      if ($pass != "") $this -> pass = $pass;      if ($database != "") $this -> database = $database;	       if (!$this -> conn = @mysqli_connect($this -> host, $this -> user, $this -> pass))	  {        return $this -> output("连接数据库 '".$this -> host."' 失败。".mysqli_error($this -> conn));      }	   mysqli_query($this -> conn,"SET NAMES 'utf8'");       $this -> selectdb();    }function selectdb($database="")	{      if ($database != "" && $database != $this -> database)        $this -> database = $database;      if (!mysqli_select_db($this -> conn, $this -> database))	  {        return $this -> output("无法使用数据库 '".$this -> database."'。");      }	}function query($sql="", $database="")                     //$sql	{	      if ($sql != "") $this -> sql = $sql;      if ($database != "" && $database != $this -> database)	  {        $olddb = $this -> database;        $this -> selectdb($database);      }      $this -> result = @mysqli_query($this -> conn,$this -> sql);      if (mysqli_error($this -> conn) != "")	  {        return $this -> output("执行以下SQL语句时失败:'".$this -> sql."' <br><br>".mysqli_error($this -> conn));      }      $this -> n = @mysqli_affected_rows();      	  	        if (!empty($olddb)) $this -> selectdb($olddb);        return $this -> result;	}function get_data()	{      if(!$this -> result || !preg_match("/^Resource/i", $this -> result)){        return $this->output("没有数据,请先执行SQL的'select'语句!");      }      $count=0;      $this -> m = @mysqli_num_rows($this -> result);      if ($this -> m > 0)	  {        while ($row = mysqli_fetch_array($this -> result))		{          $data[$count] = $row;          $count++;        }        return $this->result=$data;      }	  else	  {        return $this -> output("数据为空!");      }      mysqli_free_result($this -> result);	}function output($msg){  $this->err=$msg;  if ($this->debug)echo $msg;  return false;}  }?>/////////////////////////////下面读取数据////////////////////////////////////////////////////////////////////////////////////////////////////////////<?php $sql = "SELECT * FROM t6_dept where de_id>'0 ORDER BY de_id ASC"; $db -> query($sql); $result = $db -> get_data();    //这里的$result没有取值成功echo $result[0]["hp_id"];?>因php升级到5.6,把mysql的读取方式全改mysqli了。结果数据输出不了,要怎么改才有数据输出,本人小白,跪求大神指点。
Nach dem Login kopieren





回复讨论(解决方案)

//你的$db 变量都没有初始化对象$db = new mysqldb();
Nach dem Login kopieren

回复#1 的,不好意思 原文$db = new mysqldb(); 有的 我漏发上去了 

print_r($db);
看看有什么

回复 #3 的 原来 $sql = "SELECT * FROM t6_dept where de_id>'0 ORDER BY de_id ASC";  de_id>'0‘ 写错了  改后了浏览器报错
PHP Warning:  preg_match() expects parameter 2 to be string, object given in C:\inetpub\wwwroot\hp\4.php on line 80 

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage