今天来了个客户.服务器升级到PHP7.4了…以前写的mysql类只支持到PHP5.6.
遂升级Mysql类到Mysqli
特此记录
<?php header('content-type:text/html;charset=utf-8'); session_start(); //error_reporting(0); date_default_timezone_set('PRC'); $dbhead="shu_"; class db { private static $dbcon=false; var $dbhost = "localhost"; var $dbuser = "root"; var $dbpw = "root"; var $dbname = "a0201103311"; private $conn; //mysql_query("SET NAMES 'utf8'"); private function __construct($config=array()){ //连接数据库 $this->db_link(); } private function db_link(){ $this->conn=mysqli_connect($this->dbhost,$this->dbuser,$this->dbpw,$this->dbname); if(!$this->conn){ echo "数据库连接失败<br>"; echo "错误编码".mysqli_errno($this->conn)."<br>"; echo "错误信息".mysqli_error($this->conn)."<br>"; exit; } } function close() { return mysqli_close($this->conn); } /* 查询分类名称 */ function getclass($aa,$bb,$cc) { $class_id_sql=$this->query("select * from `{$aa}` where `id`={$cc}"); $class_id_name=$this->get($class_id_sql); if($class_id_name[$bb]<>""){ return $class_id_name[$bb]; } else { return ""; } } public function query($sql){ $res=mysqli_query($this->conn,$sql); if(!$res){ echo "sql语句执行失败<br>"; echo "错误编码是".mysqli_errno($this->conn)."<br>"; echo "错误信息是".mysqli_error($this->conn)."<br>"; } return $res; } public function get($query,$type="assoc"){ if(!in_array($type,array("assoc","array","row"))) { die("mysqli_query error"); } $funcname="mysqli_fetch_".$type; return $funcname($query); } //获取一行记录,return array 一维数组 public function getfirst($sql,$type="assoc"){ $query=$this->query($sql); if(!in_array($type,array("assoc",'array',"row"))){ die("mysqli_query error"); } $funcname="mysqli_fetch_".$type; return $funcname($query); } function row($query) { return mysqli_num_rows($query); } function free($query) { return mysqli_free_result($query); } function msg($msgdb) { die($msgdb); } function alert($msg) { echo "<script language=javascript>"; echo "history.back();"; echo " alert(\"".$msg."\");"; echo "</script>"; //return $text; } function location($msg,$url) { echo "<script language=javascript>"; echo " alert(\"".$msg."\");"; echo "location.href=\"".$url."\""; echo "</script>"; // return $text; } public static function getIntance(){ if(self::$dbcon==false){ self::$dbcon=new self; } return self::$dbcon; } } class page { function get_num($sql)//获得总共有多少条记录 { global $result, $rs; $db_page=db::getIntance(); $result=$db_page->query($sql); $rs=$db_page->get($result); $num=$rs["count(*)"]; $db_page->free($result); return $num; } function get_page($pagesize,$num,$rpage)//在知道总共有多少条记录的情况下,给出有多少页 { ceil($num/$pagesize); if(empty($rpage)) { $page=0; } else { $page=$rpage; if($page<0)$page=0; if($page>=ceil($num/$pagesize))$page=ceil($num/$pagesize)-1; } return $page; } function get_page1($pagesize,$sql,$rpage)//在不知道总共有多少条记录的情况下,给出有多少页,一步到位 { global $result, $rs; $db_page=new db(); $result=$db_page->query($sql); $rs=$db_page->get($result); $num=$rs[0]; $db_page->free($result); ceil($num/$pagesize); if(empty($rpage)) { $page=0; } else { $page=$rpage; if($page<0)$page=0; if($page>=ceil($num/$pagesize))$page=ceil($num/$pagesize)-1; } return $page; } function get_fy($page,$pagezg,$pre,$next,$url) { for($i=($page-$pre);$i <= min($pagezg,$page+$next);$i++) { if($i<1) continue;//如果$page-$pre<0,不操作 if ($page==($i-1)) { $pageye.="<font color=\"#FF0000\">[".($i)."]</font>"." "; } else { $pageye.="<a href=".$url."&page=".($i-1)." style='color:#b6b6b6;'>[".($i)."]</a>"." "; } } $pageye="<a href=".$url."&page=0 style='color:#b6b6b6;'><FONT face=Webdings>9</FONT></a> ".$pageye."<a href=".$url."&page=".$pagezg." style='color:#b6b6b6;'><FONT face=Webdings>:</FONT></a>"; return $pageye; } } $db=db::getIntance(); require "bt.php"; ?>
下面是原Mysql类:
<?php session_start(); //error_reporting(0); date_default_timezone_set('PRC'); $dbhead="shu_"; class db { var $dbhost = "localhost"; var $dbuser = "a0201103311"; var $dbpw = "39539445"; var $dbname = "a0201103311"; var $conn; //mysql_query("SET NAMES 'utf8'"); function db_link () { $this->conn=mysql_connect ($this->dbhost, $this->dbuser, $this->dbpw); mysql_query("SET NAMES utf8"); mysql_select_db($this->dbname); } function close() { return mysql_close($this->conn); } function query($query) { $sql=$query; $query=mysql_query($query); return $query ? $query : die(mysql_error()."<br><br>".$sql); } function get($query) { return mysql_fetch_array($query); } //查询有没有 function getfirst($sql){ return @mysql_fetch_array($this->query($sql)); } /* 查询分类名称 */ function getclass($aa,$bb,$cc) { $class_id_sql=$this->query("select * from `{$aa}` where `id`={$cc}"); $class_id_name=$this->get($class_id_sql); if($class_id_name[$bb]<>""){ return $class_id_name[$bb]; } else { return ""; } } /* 反查分类id */ function getid($aa,$bb,$cc) { $class_id_sql=$this->query("select * from `{$aa}` where `name`='{$cc}' order by sort asc"); $class_id_name=$this->get($class_id_sql); if($class_id_name[$bb]<>""){ return $class_id_name[$bb]; } else { return ""; } } function row($query) { return mysql_num_rows($query); } function free($query) { return mysql_free_result($query); } function msg($msgdb) { die($msgdb); } function alert($msg) { echo "<script language=javascript>"; echo "history.back();"; echo " alert(\"".$msg."\");"; echo "</script>"; //return $text; } function location($msg,$url) { echo "<script language=javascript>"; echo " alert(\"".$msg."\");"; echo "location.href=\"".$url."\""; echo "</script>"; // return $text; } } class page { function get_num($sql)//获得总共有多少条记录 { global $result, $rs; $db_page=new db(); $result=$db_page->query($sql); $rs=$db_page->get($result); $num=$rs[0]; $db_page->free($result); return $num; } function get_page($pagesize,$num,$rpage)//在知道总共有多少条记录的情况下,给出有多少页 { ceil($num/$pagesize); if(empty($rpage)) { $page=0; } else { $page=$rpage; if($page<0)$page=0; if($page>=ceil($num/$pagesize))$page=ceil($num/$pagesize)-1; } return $page; } function get_page1($pagesize,$sql,$rpage)//在不知道总共有多少条记录的情况下,给出有多少页,一步到位 { global $result, $rs; $db_page=new db(); $result=$db_page->query($sql); $rs=$db_page->get($result); $num=$rs[0]; $db_page->free($result); ceil($num/$pagesize); if(empty($rpage)) { $page=0; } else { $page=$rpage; if($page<0)$page=0; if($page>=ceil($num/$pagesize))$page=ceil($num/$pagesize)-1; } return $page; } function get_fy($page,$pagezg,$pre,$next,$url) { for($i=($page-$pre);$i <= min($pagezg,$page+$next);$i++) { if($i<1) continue;//如果$page-$pre<0,不操作 if ($page==($i-1)) { $pageye.="<font color=\"#FF0000\">[".($i)."]</font>"." "; } else { $pageye.="<a href=".$url."&page=".($i-1)." style='color:#b6b6b6;'>[".($i)."]</a>"." "; } } $pageye="<a href=".$url."&page=0 style='color:#b6b6b6;'><FONT face=Webdings>9</FONT></a> ".$pageye."<a href=".$url."&page=".$pagezg." style='color:#b6b6b6;'><FONT face=Webdings>:</FONT></a>"; return $pageye; } } $db=new db(); $db->db_link(); require "bt.php"; ?>