一个PHP的MySQL、MySQLi、SQLite 三合一数据库操作类

2021-12-19 0 460

这个类,在很多地方都能看到。

<?php

//MySQL、MySQLi、SQLite 三合一数据库操作类

if(!defined('IN_CRONLITE'))exit();



$nomysqli=false;



if(defined('SQLITE')==true){

	class DB {

		var $link = null;



		function __construct($db_file){

			global $siteurl;

		$this->link = new PDO('sqlite:'.ROOT.'includes/sqlite/'.$db_file.'.db');

		if (!$this->link) die('Connection Sqlite failed.\n');

		return true;

        }



		function fetch($q){

			return $q->fetch();

		}

		function get_row($q){

			$sth = $this->link->query($q);

			return $sth->fetch();

		}

		function count($q){

			$sth = $this->link->query($q);

			return $sth->fetchColumn();

		}

		function query($q){

			return $this->result=$this->link->query($q);

		}

		function affected(){

			return $this->result->rowCount();

		}

		function error(){

			$error = $this->link->errorInfo();

			return '['.$error[1].'] '.$error[2];

		}

	}

}

elseif(extension_loaded('mysqli') && $nomysqli==false) {

    class DB {

        var $link = null;



        function __construct($db_host,$db_user,$db_pass,$db_name,$db_port){

            

            $this->link = mysqli_connect($db_host, $db_user, $db_pass, $db_name, $db_port);

            

            if (!$this->link) die('Connect Error (' . mysqli_connect_errno() . ') '.mysqli_connect_error());

            

            //mysqli_select_db($this->link, $db_name) or die(mysqli_error($this->link));

            

 

mysqli_query($this->link,"set sql_mode = ''");

 //字符转换,读库

mysqli_query($this->link,"set character set 'utf8'");

//写库

mysqli_query($this->link,"set names 'utf8'"); 

	return true;

	}

		function fetch($q){

			return mysqli_fetch_assoc($q);

		}

		function get_row($q){

			$result = mysqli_query($this->link,$q);

			return mysqli_fetch_assoc($result);

		}

		function count($q){

			$result = mysqli_query($this->link,$q);

			$count = mysqli_fetch_array($result);

			return $count[0];

		}

		function query($q){

			return mysqli_query($this->link,$q);

		}

		function escape($str){

			return mysqli_real_escape_string($this->link,$str);

		}

		function insert($q){

			if(mysqli_query($this->link,$q))

				return mysqli_insert_id($this->link); 

			return false;

		}

		function affected(){

			return mysqli_affected_rows($this->link);

		}

		function insert_array($table,$array){

			$q = "INSERT INTO `$table`";

			$q .=" (`".implode("`,`",array_keys($array))."`) ";

			$q .=" VALUES ('".implode("','",array_values($array))."') ";

			

			if(mysqli_query($this->link,$q))

				return mysqli_insert_id($this->link);

			return false;

		}

		function error(){

			$error = mysqli_error($this->link);

			$errno = mysqli_errno($this->link);

			return '['.$errno.'] '.$error;

		}

		function close(){

			$q = mysqli_close($this->link);

			return $q;

		}

	}

} else { // we use the old mysql

	class DB {

		var $link = null;



		function __construct($db_host,$db_user,$db_pass,$db_name,$db_port){



		$this->link = @mysql_connect($db_host.':'.$db_port, $db_user, $db_pass);

            

		if (!$this->link) die('Connect Error (' . mysql_errno() . ') '.mysql_error());

            

			mysql_select_db($db_name, $this->link) or die(mysql_error($this->link));



mysql_query("set sql_mode = ''");

//字符转换,读库

mysql_query("set character set 'utf8'");

//写库

mysql_query("set names 'utf8'"); 



	return true;

		}

		function fetch($q){

			return mysql_fetch_assoc($q);

		}

		function get_row($q){

			$result = mysql_query($q, $this->link);

			return mysql_fetch_assoc($result);

		}

		function count($q){

			$result = mysql_query($q, $this->link);

			$count = mysql_fetch_array($result);

			return $count[0];

		}

        function query($q){

			return mysql_query($q, $this->link);

		}

		function escape($str){

			return mysql_real_escape_string($str, $this->link);

		}

		function affected(){

			return mysql_affected_rows($this->link);

		}

		function insert($q){

			if(mysql_query($q, $this->link))

				return mysql_insert_id($this->link);

			return false;

		}

		function insert_array($table,$array){

			$q = "INSERT INTO `$table`";

			$q .=" (`".implode("`,`",array_keys($array))."`) ";

			$q .=" VALUES ('".implode("','",array_values($array))."') ";



			if(mysql_query($q, $this->link))

				return mysql_insert_id($this->link);

			return false;

		}

		function error(){

			$error = mysql_error($this->link);

			$errno = mysql_errno($this->link);

			return '['.$errno.'] '.$error;

		}

		function close(){

			$q = mysql_close($this->link);

			return $q;

		}

	}



}

?>

 

使用示例:

 

$DB=new DB($host,$user,$pwd,$dbname,$port);//链接数据库

$fwqlist=$DB->query("SELECT * FROM auth_fwq");//获取数据
$conf=$DB->get_row("SELECT * FROM auth_config WHERE id='1' limit 1");//获取一条数据


$DB->query("insert into `auth_log` (`action`,`msg`) values ('".$action."','".$msg."')");//执行sql语句,插入数据
$numrows=$DB->count("SELECT count(*) from jbkm WHERE{$sql}");//计数

$rs=$DB->query("SELECT * FROM jbkm WHERE{$sql} order by id desc limit $offset,$pagesize");//多条数据
while($res = $DB->fetch($rs)){
var_dump($res);
}

if($DB->query("DELETE FROM jbkm WHERE kind='$kind'")==true){//删除数据
echo '<div class="box">清空成功.</div>';
}


if($DB->query("update `jbkm` set `beizhu`='$beizhu',`useip`='$useip',`isuse`='$state',`endtime`='$endtime' where id='$id'")){//修改数据
    echo '修改成功!';
}else{
    echo '修改失败!'.$DB->error();
}


$sql = $DB->query("select * from auth_configs");//获取kv例子
while($r = $DB->fetch($sql)){
    $configs[$r['k']] = $r['v'];
} 免责声明:本文内容由凌晨学院网转载自互联网,版权归原作者所有,凌晨学院网不拥有其著作权,亦不承担相应法律责任。如果本站侵犯了您的权益请及时联系team@lcwl.fun,核实后本站将会在2个工作日内对涉嫌侵权内容处理完毕!谢谢合作!
收藏 (0) 打赏

感谢您的支持,我们会继续努力的!

打开支付宝/微信/QQ扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

1. 本站所有教学内容和资源均来源于本站原创和网络收集以及用户自主上传,如有侵权请带证联系本站客服进行处理!邮箱:team@lcwl.fun
2. 对于非本站原创的资源不保证所提供下载资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系本站客服处理,有奖励!
3. 除本站原创教学或资源外其余资源您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 本站原创资源如需商用还请申请商业授权,否则本站有权追究其法律责任!
5. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有学币奖励额外收入!

凌晨资源网 互联网技术 一个PHP的MySQL、MySQLi、SQLite 三合一数据库操作类 https://www.lingchenw.cn/938.html

常见问题
  • 本站所有付费教程均可单独付费或者开会员学习,自己购买或者开了会员就可以学习,来凌晨学院报名学习送会员,并且有讲师一对一辅导培训教学,师生互动化,定期布置作业等
查看详情
  • 本站所有资源版权均属于原作者所有,资源中标注可商用的可以商用的代表是本团队自主研发公布可商用的产品,未标注可商用所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
查看详情

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务

学习手机编程软件开发
手机编程软件开发

你知道吗?用手机也能开发制作软件,满足自己的编程心,做属于自己的软件

报名学习
自媒体短视频
副业做自媒体短视频

想做自媒体短视频剪辑给自己多一份副业,只需一部手机你也可以

报名学习
搭建网站必备云互联主机
链未云互联

搭建网站,后台云服务等必备云服务器互联主机,IDC云主机

现在使用
Fa快捷助手
用手点一点就能开发做软件

不用记编程语法,不用一行一行手敲代码,用手点一点就能开发制作软件

点击下载