今天来了个客户.服务器升级到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";
?>

Sangco – 程序员之家




