php编写的mysql 操作类 php5的
<?php /*mysql 简单类 by joffe q89949401 围脖@狂code诗人; 本类全静态 使用的时候直接include后 用mysql::方法()名即可 由于类在php5里面全局可视,所以不必担心变量范围的问题.如果有什么意见 请围脖私信||qq邮件; 目前没有与存储过程有关的方法,当然存储过程一般是创建数据库的时候做的. config文件需要配置以下常量信息: LIB:类存放位置 DEBUG:是否开启debug(如果开启会输出错误信息跟踪) TB_EX:数据库表前缀; */ defined('LIB') or die('Missing config!!'); final class mysql { /** * 查询总次数 * * @var int */ public static $querynum = 0; /** * 连接句柄 * * @var object */ public static $link; /* 表前缀 @var string 下面方法需要在配置文件中配置TB_EX 作为表的前缀 */ static function add_ex($tb){ return TB_EX.$tb_ex.$tb; } /*mysql数据库是否使用严格的类型(mysql类型没开启自动转换)默认为false,表示mysql有开启类型转换,这个变量目前只要是用于insert函数的单引号在没有自动转换的mysql里面的问题,可能将来会增加相关函数 */ public static $is_type_tight=false; /** * 构造函数 * * @param string $dbhost 主机名 * @param string $dbuser 用户 * @param string $dbpw 密码 * @param string $dbname 数据库名 * @param int $pconnect 是否持续连接 */ static function connect($dbhost, $dbuser, $dbpw, $dbname = "",$dbcharset, $pconnect = 0) { if($pconnect) { if(!self::$link = @mysql_pconnect($dbhost, $dbuser, $dbpw)) { self::halt("Can not connect to MySQL server"); } } else { if(!self::$link = @mysql_connect($dbhost, $dbuser, $dbpw)) { self::halt("Can not connect to MySQL server"); } } if(self::version() > "4.1") { if($dbcharset) { mysql_query("SET character_set_connection={$dbcharset}, character_set_results=$dbcharset, character_set_client=binary", self::$link); } if(self::version() > "5.0.1") { mysql_query("SET sql_mode=''", self::$link); } } if($dbname) { mysql_select_db($dbname, self::$link); } } /** * 选择数据库 * * @param string $dbname * @return */ static function select_db($dbname) { return mysql_select_db($dbname, self::$link); } /** * 取出结果集中一条记录 * * @param object $query * @param int $result_type * @return array */ static function fetch_array($query, $result_type = MYSQL_ASSOC) { //默认只取关联数组 不取数字数组. return mysql_fetch_array($query, $result_type); } /** * 查询SQL * * @param string $sql * @param string $type * @return object */ static function query($sql, $type = "") { $func = $type == "UNBUFFERED" && @function_exists("mysql_unbuffered_query") ? "mysql_unbuffered_query" : "mysql_query"; if(!($query = $func($sql, self::$link)) && $type != "SILENT") { self::halt("MySQL Query Error", $sql); } self::$querynum++; return $query; } /** * 取影响条数 * * @return int */ static function affected_rows() { return mysql_affected_rows(self::$link); } /** * 返回错误信息 * * @return array */ static function error() { return ((self::$link) ? mysql_error(self::$link) : mysql_error()); } /** * 返回错误代码 * * @return int */ static function errno() { return intval((self::$link) ? mysql_errno(self::$link) : mysql_errno()); } /** * 返回查询结果 * * @param object $query * @param string $row * @return mixed */ static function result($query, $row,$flname=0) { $query = @mysql_result($query, $row,$flname); return $query; } /** * 结果条数 * * @param object $query * @return int */ static function num_rows($query) { $query = mysql_num_rows($query); return $query; } /** * 取字段总数 * * @param object $query * @return int */ static function num_fields($query) { return mysql_num_fields($query); } /** * 释放结果集 * * @param object $query * @return bool */ static function free_result($query) { return @mysql_free_result($query); } /** * 返回自增ID * * @return int */ static function insert_id() { return ($id = mysql_insert_id(self::$link)) >= 0 ? $id : self::$result(self::$query("SELECT last_insert_id()"), 0); } /** * 从结果集中取得一行作为枚举数组 * * @param object $query * @return array */ static function fetch_row($query) { $query = mysql_fetch_row($query); return $query; } /** * 从结果集中取得列信息并作为对象返回 * * @param object $query * @return object */ static function fetch_fields($query) { return mysql_fetch_field($query); } static function select_affectedt_rows($rs){ return mysql_affected_rows($rs,self::$link); } /** * 返回mysql版本 * * @return string */ static function version() { return mysql_get_server_info(self::$link); } /** * 关闭连接 * * @return bool */ static function close() { return mysql_close(self::$link); } /** * 输出错误信息 * * @param string $message * @param string $sql */ static function halt($message = "", $sql = "") { @header("Content-type: text/html; charset=utf-8"); if (DEBUG==1){ $debug = debug_backtrace(); echo $message . "\r\n<br/>SQL--> " . $sql."\r\n<br/>ERROR_MESSAGE-->".self::error(). "\r\n<br/>--------------debug--------------\r\n<br/>"; self::echoarray($debug); echo "\r\n<br/>-------------debug end----------------"; }else{ echo 'SQL Error'; } @self::rollback(); exit; } /////////////////////////////以下是扩展的sql方法.////// /* 把数组按照 key value value 的对应关系插入数据表table中 table 要插入的数据表 要注意 这些扩展方法是没自己给表有加前缀的. */ static function insert($table,$array){ $temp="";$temp2=''; foreach($array as $key=>$value){ if(self::$is_type_tight){ if(is_string($value)){ $temp .="$key,";$temp2 .="'$value',"; }elseif(is_int($value||is_null($value)||is_float($value))){ $value+=0; $temp .="$key,";$temp2 .="'$value',"; } }else{ $temp .="$key,";$temp2 .="'$value',"; } } $temp = substr($temp,0,strlen($temp)-1); $temp2 = substr($temp2,0,strlen($temp2)-1); $sql = "INSERT INTO $table ($temp) VALUE($temp2)"; return self::query($sql); } static function del($table,$where){ $sql = "DELETE FROM {$table} where {$where}"; return self::query($sql); } static function update($table,$array,$where){ foreach ($array as $key=>$value){ $temp .= "$key='$value',"; } $temp = substr($temp,0,strlen($temp)-1); $sql = "update {$table} set ($temp) where {$where} "; return self::query($sql); } /*进行数据库查询select 参数不定 参数说明:所有参数必须是string 第一个参数必须是表名; 从第二个参数起, 如果是写上 "where:XXX" 则认为是where条件; 如果写上 "xxx" 则认为是键值 如果写上 "by:XXX" 则认为是排序 如果写上 "limit:xxx,xxx" 则认为是分页 #参数不正确则返回false; 成功查询返回查询后的数组; */ static function select(){ $numargs = func_num_args();//获取参数个数; $where = "";$key="";$limit="";$by=""; if($numargs==0){return false;} //echo $numargs; if($numargs>=2){ $arg_list = func_get_args(); $table = $arg_list[0]; unset($arg_list[0]); // print_r($arg_list); foreach($arg_list as $k=>$value){ if(preg_match("#^(where:)\w#",$value)){ $temp = explode(":",$value); $where = "WHERE {$temp[1]} " ; }elseif(preg_match("#^by:\w#",$value)){ $temp = explode(":",$value); $by = "order by {$temp[1]}" ; }elseif(preg_match("#^limit:\w#",$value)){ $temp = explode(":",$value); $limit = "limit {$temp[1]}"; }else{ $key .= "$value,"; } } if($key==""){ $key = "*"; }else{ $key =substr($key,0,strlen($key)-1); } $sql_base="SELECT $key FROM $table"; } if(!empty($where)){ $sql_base .= " $where"; } if(!empty($by)){ $sql_base .= " $by"; } if(!empty($limit)){ $sql_base .= " $limit"; } //echo $sql_base; //echo $by ; $rs = self::query($sql_base); $re=array(); if(self::num_rows($rs)>=1){ while($info = self::fetch_array($rs)){ $re[]=$info; } } self::free_result($rs); return $re; } /*回滚事务*/ static function rollback(){ self::query('rollback'); } /*开始事务*/ static function begin(){ self::query('SET AUTOCOMMIT =0'); //停用自动提交; self::query('BEGIN') ;//开始一个事务; } /*提交事务*/ static function commit(){ self::query('commit'); } static function echoarray($array){ foreach($array as $k=>$v ){ if(is_array($v)){ if(is_array($v)){ echo "<br/>--------------------------------<br/>"; self::echoarray($v); } }else{ if($k==='line') echo "<b style='color:red'>$k -> " .$v."</b> "; else echo "$k -> " .$v." "; } } } static function get_server_info(){ return mysql_get_server_info(); } } ?>
以上就是php编写的mysql 操作类 php5的 的内容,更多相关内容请关注PHP中文网(www.php.cn)!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题











PHP和Python各有优势,选择依据项目需求。1.PHP适合web开发,尤其快速开发和维护网站。2.Python适用于数据科学、机器学习和人工智能,语法简洁,适合初学者。

PHP在现代Web开发中仍然重要,尤其在内容管理和电子商务平台。1)PHP拥有丰富的生态系统和强大框架支持,如Laravel和Symfony。2)性能优化可通过OPcache和Nginx实现。3)PHP8.0引入JIT编译器,提升性能。4)云原生应用通过Docker和Kubernetes部署,提高灵活性和可扩展性。

PHP是一种广泛应用于服务器端的脚本语言,特别适合web开发。1.PHP可以嵌入HTML,处理HTTP请求和响应,支持多种数据库。2.PHP用于生成动态网页内容,处理表单数据,访问数据库等,具有强大的社区支持和开源资源。3.PHP是解释型语言,执行过程包括词法分析、语法分析、编译和执行。4.PHP可以与MySQL结合用于用户注册系统等高级应用。5.调试PHP时,可使用error_reporting()和var_dump()等函数。6.优化PHP代码可通过缓存机制、优化数据库查询和使用内置函数。7

PHP适合web开发,特别是在快速开发和处理动态内容方面表现出色,但不擅长数据科学和企业级应用。与Python相比,PHP在web开发中更具优势,但在数据科学领域不如Python;与Java相比,PHP在企业级应用中表现较差,但在web开发中更灵活;与JavaScript相比,PHP在后端开发中更简洁,但在前端开发中不如JavaScript。

MySQL在数据库和编程中的地位非常重要,它是一个开源的关系型数据库管理系统,广泛应用于各种应用场景。1)MySQL提供高效的数据存储、组织和检索功能,支持Web、移动和企业级系统。2)它使用客户端-服务器架构,支持多种存储引擎和索引优化。3)基本用法包括创建表和插入数据,高级用法涉及多表JOIN和复杂查询。4)常见问题如SQL语法错误和性能问题可以通过EXPLAIN命令和慢查询日志调试。5)性能优化方法包括合理使用索引、优化查询和使用缓存,最佳实践包括使用事务和PreparedStatemen

PHP仍然具有活力,其在现代编程领域中依然占据重要地位。1)PHP的简单易学和强大社区支持使其在Web开发中广泛应用;2)其灵活性和稳定性使其在处理Web表单、数据库操作和文件处理等方面表现出色;3)PHP不断进化和优化,适用于初学者和经验丰富的开发者。

PHP和Python各有优势,适合不同场景。1.PHP适用于web开发,提供内置web服务器和丰富函数库。2.Python适合数据科学和机器学习,语法简洁且有强大标准库。选择时应根据项目需求决定。

PHP用于构建动态网站,其核心功能包括:1.生成动态内容,通过与数据库对接实时生成网页;2.处理用户交互和表单提交,验证输入并响应操作;3.管理会话和用户认证,提供个性化体验;4.优化性能和遵循最佳实践,提升网站效率和安全性。
