请问MYSQLI无法读取数据库问题
程序员文章站
2022-04-17 22:51:21
...
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."'
".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;} }?>/////////////////////////////下面读取数据////////////////////////////////////////////////////////////////////////////////////////////////////////////'0 ORDER BY de_id ASC"; $db -> query($sql); $result = $db -> get_data(); //这里的$result没有取值成功echo $result[0]["hp_id"];?>因php升级到5.6,把mysql的读取方式全改mysqli了。结果数据输出不了,要怎么改才有数据输出,本人小白,跪求大神指点。
回复讨论(解决方案)
//你的$db 变量都没有初始化对象$db = new mysqldb();
回复#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
下一篇: thead与td无法对齐该怎么办?
推荐阅读
-
MFC连接数据库时,无法启动程序,计算机丢失libmysql.dll的问题解决办法
-
Ubuntu 16.04.4 LTS环境中php7.0使用mysqli失败,数据库无法访问
-
Linux中无法远程连接数据库问题的解决方法
-
mysql修改数据库默认路径无法启动问题的解决
-
Navicat Premium 解决无法连接远程mysql数据库问题
-
解决python xlrd无法读取excel文件的问题
-
解决SpringBoot打成jar运行后无法读取resources里的文件问题
-
Oracle数据库新装之后出现的监听程序无法正常启动和运行(Oracle-12514)问题
-
关于oracle数据库误删表空间文件后无法登陆sqlplus问题的解决方法
-
Mysql数据库无法启动问题的解决方案