热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

mysql数据库操作的DB类【MySQL】

数据库|mysql教程mysql,数据库操作数据库-mysql教程代码拷贝框

数据库|mysql教程mysql数据库操作的DB类【MySQL】
mysql,数据库操作
数据库-mysql教程
代码拷贝框
/*
* mysql数据库 DB类
* @package db
* @author yytcpt(无影)
* @version 2008-03-27
* @copyrigth http://www.d5s.cn/
*/
class db {
var $connection_id = “”;
var $pcOnnect= 0;
var $shutdown_queries = array();
var $queries = array();
var $query_id = “”;
var $query_count = 0;
var $record_row = array();
var $failed = 0;
var $halt = “”;
var $query_log = array();
function connect($db_config){
if ($this->pconnect){
$this->connection_id = mysql_pconnect($db_config[“hostname”], $db_config[“username”], $db_config[“password”]);
}else{
$this->connection_id = mysql_connect($db_config[“hostname”], $db_config[“username”], $db_config[“password”]);
}
if ( ! $this->connection_id ){
$this->halt(“Can not connect MySQL Server”);
}
if ( ! @mysql_select_db($db_config[“database”], $this->connection_id) ){
$this->halt(“Can not connect MySQL Database”);
}
if ($db_config[“charset”]) {
@mysql_unbuffered_query(“SET NAMES ‘”.$db_config[“charset”].”‘”);
}
return true;
}
//发送SQL 查询,并返回结果集
function query($query_id, $query_type=’mysql_query’){
$this->query_id = $query_type($query_id, $this->connection_id);
$this->queries[] = $query_id;
if (! $this->query_id ) {
$this->halt(“查询失败:/n$query_id”);
}
$this->query_count++;
$this->query_log[] = $str;
return $this->query_id;
}
//发送SQL 查询,并不获取和缓存结果的行
function query_unbuffered($sql=””){
return $this->query($sql, ‘mysql_unbuffered_query’);
}
//从结果集中取得一行作为关联数组
function fetch_array($sql = “”){
if ($sql == “”) $sql = $this->query_id;
$this->record_row = @mysql_fetch_array($sql, MYSQL_ASSOC);
return $this->record_row;
}
function shutdown_query($query_id = “”){
$this->shutdown_queries[] = $query_id;
}
//取得结果集中行的数目,仅对 INSERT,UPDATE 或者 DELETE
function affected_rows() {
return @mysql_affected_rows($this->connection_id);
}
//取得结果集中行的数目,仅对 SELECT 语句有效
function num_rows($query_id=””) {
if ($query_id == “”) $query_id = $this->query_id;
return @mysql_num_rows($query_id);
}
//返回上一个 MySQL 操作中的错误信息的数字编码
function get_errno(){
$this->errno = @mysql_errno($this->connection_id);
return $this->errno;
}
//取得上一步 INSERT 操作产生的 ID
function insert_id(){
return @mysql_insert_id($this->connection_id);
}
//得到查询次数
function query_count() {
return $this->query_count;
}
//释放结果内存
function free_result($query_id=””){
if ($query_id == “”) $query_id = $this->query_id;
@mysql_free_result($query_id);
}
//关闭 MySQL 连接
function close_db(){
if ( $this->connection_id ) return @mysql_close( $this->connection_id );
}
//列出 MySQL 数据库中的表
function get_table_names(){
global $db_config;
$result = mysql_list_tables($db_config[“database”]);
$num_tables = @mysql_numrows($result);
for ($i = 0; $i <$num_tables; $i++) {
$tables[] = mysql_tablename($result, $i);
}
mysql_free_result($result);
return $tables;
}
//从结果集中取得列信息并作为对象返回,取得所有字段
function get_result_fields($query_id=””){
if ($query_id == “”) $query_id = $this->query_id;
while ($field = mysql_fetch_field($query_id)) {
$fields[] = $field;
}
return $fields;
}
//错误提示
function halt($the_error=””){
$message = $the_error.”
/r/n”;
$message.= $this->get_errno() . “
/r/n”;
$sql = “INSERT INTO `db_error`(pagename, errstr, timer) VALUES(‘”.$_SERVER[“PHP_SELF”].”‘, ‘”.addslashes($message).”‘, “.time().”)”;
@mysql_unbuffered_query($sql);
if (DEBUG==true){
echo ““;
echo “
小程序商源码,vscode怎么变繁体,ubuntu屏幕过小,tomcat安装部署系统,sata爬虫,php网站如何发布网站,璧山区seo优化趋势,html5网站效果代码大全,wp模板 企业 简单lzw

/r/n”;
echo “/r/n”;
echo “/r/n”;
exit;
}
}
function __destruct(){
$this->shutdown_queries = array();
$this->close_db();
}
function sql_select($tbname, $where=””, $limit=0, $fields=”*”, $orderby=”id”, $sort=”DESC”){
$sql = “SELECT “.$fields.” FROM `”.$tbname.”` “.($where?” WHERE “.$where:””).” ORDER BY “.$orderby.” “.$sort.($limit ? ” limit “.$limit:””);
return $sql;
}
function sql_insert($tbname, $row){
foreach ($row as $key=>$value) {
$sqlfield .= $key.”,”;
$sqlvalue .= “‘”.$value.”‘,”;
}
return “INSERT INTO `”.$tbname.”`(“.substr($sqlfield, 0, -1).”) VALUES (“.substr($sqlvalue, 0, -1).”)”;
}
function sql_update($tbname, $row, $where){
foreach ($row as $key=>$value) {
$sqlud .= $key.”= ‘”.$value.”‘,”;
}
return “UPDATE `”.$tbname.”` SET “.substr($sqlud, 0, -1).” WHERE “.$where;
}
function sql_delete($tbname, $where){
return “DELETE FROM `”.$tbname.”` WHERE “.$where;
}
//新增加一条记录
function row_insert($tbname, $row){
$sql = $this->sql_insert($tbname, $row);
return $this->query_unbuffered($sql);
}
//更新指定记录
function row_update($tbname, $row, $where){
$sql = $this->sql_update($tbname, $row, $where);
return $this->query_unbuffered($sql);
}
//删除满足条件的记录
function row_delete($tbname, $where){
$sql = $this->sql_delete($tbname, $where);
return $this->query_unbuffered($sql);
}
/* 根据条件查询,返回所有记录
* $tbname 表名, $where 查询条件, $limit 返回记录, $fields 返回字段
*/
function row_select($tbname, $where=””, $limit=0, $fields=”*”, $orderby=”id”, $sort=”DESC”){
$sql = $this->sql_select($tbname, $where, $limit, $fields, $orderby, $sort);
return $this->row_query($sql);
}
//详细显示一条记录
function row_select_one($tbname, $where, $fields=”*”, $orderby=”id”){
$sql = $this->sql_select($tbname, $where, 1, $fields, $orderby);
return $this->row_query_one($sql);
}
function row_query($sql){
$rs = $this->query($sql);
$rs_num = $this->num_rows($rs);
$rows = array();
for($i=0; $i<$rs_num; $i++){
$rows[] = $this->fetch_array($rs);
}
$this->free_result($rs);
return $rows;
}
function row_query_one($sql){
$rs = $this->query($sql);
$row = $this->fetch_array($rs);
$this->free_result($rs);
return $row;
}
//计数统计
function row_count($tbname, $where=””){
$sql = “SELECT count(id) as row_sum FROM `”.$tbname.”` “.($where?” WHERE “.$where:””);
$row = $this->row_query_one($sql);
return $row[“row_sum”];
}
}
?>
[Ctrl+A 全部选择 然后拷贝]

很久没有发帖了,把我常用的一些php类文件分享出来。
如果您加了新功能,或者是有改进,请与大家一起分享。

$db_config[“hostname”] = “127.0.0.1”; //服务器地址
$db_config[“username”] = “root”; //数据库用户名
$db_config[“password”] = “root”; //数据库密码
$db_config[“database”] = “wap_blueidea_com”; //数据库名称
$db_config[“charset”] = “utf8”;
include(‘db.php’);
$db = new db();
$db->connect($db_config);
//例:查询表 table_name 中 cid=1的所有记录。
$row = $db->row_select(‘table_name’, ‘cid=1’);
?>

更详细的使用方法,请参考 db类文件中的注释。

模板无忧网站源码,为啥要用ubuntu编程,tomcat7绿色版下载,火山爬虫 路灯下,php路径导入是什么意思,安平seo推广lzw

推荐阅读
  • 在MySQL中实现时间比较功能的详细解析与应用
    在MySQL中实现时间比较功能的详细解析与应用。本文深入探讨了MySQL中时间比较的实现方法,重点介绍了`UNIX_TIMESTAMP`函数的应用。该函数可以接收一个日期时间参数,也可以不带参数使用,其返回值为Unix时间戳,便于进行时间的精确比较和计算。此外,文章还涵盖了其他相关的时间处理函数和技巧,帮助读者更好地理解和掌握MySQL中的时间操作。 ... [详细]
  • Norton Partition Magic 中 PHP 函数 error_reporting(E_ALL ^ E_NOTICE) 的详细解析与应用
    在 Windows 环境下,通过具体示例分析了 `Norton Partition Magic` 中 `PHP` 函数 `error_reporting(E_ALL ^ E_NOTICE)` 的详细解析与应用。该函数用于控制错误报告级别,例如在从 PHP 4.3.0 升级到 4.3.1 后,程序出现多处错误的原因及解决方法。本文深入探讨了错误报告配置对程序稳定性的影响,并提供了实用的调试技巧。 ... [详细]
  • 本文详细解析了如何使用 jQuery 实现一个在浏览器地址栏运行的射击游戏。通过源代码分析,展示了关键的 JavaScript 技术和实现方法,并提供了在线演示链接供读者参考。此外,还介绍了如何在 Visual Studio Code 中进行开发和调试,为开发者提供了实用的技巧和建议。 ... [详细]
  • 浅析PHP中$_SERVER[
    在PHP后端开发中,`$_SERVER["HTTP_REFERER"]` 是一个非常有用的超级全局变量,它可以获取用户访问当前页面之前的URL。本文将详细介绍该变量的使用方法及其在不同场景下的应用,如页面跳转跟踪、安全验证和用户行为分析等。通过实例解析,帮助开发者更好地理解和利用这一功能。 ... [详细]
  • MySQL性能优化与调参指南【数据库管理】
    本文详细探讨了MySQL数据库的性能优化与参数调整技巧,旨在帮助数据库管理员和开发人员提升系统的运行效率。内容涵盖索引优化、查询优化、配置参数调整等方面,结合实际案例进行深入分析,提供实用的操作建议。此外,还介绍了常见的性能监控工具和方法,助力读者全面掌握MySQL性能优化的核心技能。 ... [详细]
  • 轻松实现MySQL数据库自动备份【数据库管理】
    本文介绍了如何通过简单的步骤实现MySQL数据库的自动备份。具体方法是将一段脚本保存为批处理文件(.bat),该脚本可以定期执行数据库备份任务。此外,还提供了在不同操作系统和开发环境中配置备份任务的示例,包括VSCodium、Ubuntu代理设置以及Tomcat服务器的相关配置。这不仅提高了数据安全性,还简化了数据库管理流程。 ... [详细]
  • 实现Nginx对ThinkPHP URL重写及PATHINFO支持的详细方法解析【PHP开发】
    在PHP后端开发中,实现Nginx对ThinkPHP的URL重写及PATHINFO支持是一项常见的需求。本文详细解析了经过多次尝试和研究,最终找到的一种有效配置方法,能够确保URL_MODERewrite功能正常运行,并提供稳定的服务。此外,文章还探讨了相关配置项的具体作用及其优化建议,帮助开发者更好地理解和应用这些技术。 ... [详细]
  • MySQL 数据变更后如何实现实时同步至 Elasticsearch
    在 MySQL 数据变更后,如何实现与 Elasticsearch 的实时同步是一个常见的需求。本文介绍了通过配置 MySQL 的 Binlog 功能,结合中间件如 Canal 或 Debezium,将数据变更事件实时捕获并同步到 Elasticsearch 中的方法。此外,还探讨了如何处理数据删除操作,确保 Elasticsearch 中的数据与 MySQL 保持一致。文章还简要对比了 VSCode 和 Dev 两种开发环境的优缺点,为开发者提供参考。 ... [详细]
  • 如何使用Python高效绘制矩形图形
    本文详细介绍了如何利用Python的Turtle库高效绘制矩形图形,适合初学者快速上手。通过具体示例代码,帮助读者理解Turtle库的基本绘图方法和技巧,同时探讨了在不同应用场景中绘制矩形的实际操作,为后续复杂图形的绘制打下坚实基础。 ... [详细]
  • 如何在PHP中准确检测字符是否为中文汉字
    本文详细介绍了在PHP中实现准确检测字符是否为中文汉字的方法。通过使用正则表达式和多字节字符串函数,开发者可以轻松判断输入值是否包含中文汉字。此外,文章还提供了示例代码和常见问题的解决方案,适用于各种开发环境,如Ubuntu系统和Web应用服务器配置。 ... [详细]
  • IPv4地址由多少个二进制位构成及其技术细节解析
    本文详细解析了IPv4地址的构成及其技术细节,重点阐述了IPv4地址由32个二进制位组成,并探讨了其在网络通信中的应用和相关技术背景。同时,文章还介绍了IPv4地址的子网划分、地址分类以及常见的配置方法,为读者提供了全面的技术参考。 ... [详细]
  • 如何撰写PHP电商项目的实战经验? ... [详细]
  • Ubuntu 20.04 TLS安装指南:详细步骤与专业技巧
    在 Ubuntu 20.04 LTS 的正式版安装过程中,本文提供了详细的步骤和专业技巧。使用 VMware 虚拟机进行安装时,建议选择简体中文作为系统语言,并采用默认的常规安装选项。虚拟磁盘配置可直接使用默认设置,以简化安装流程。此外,本文还涵盖了安装过程中的常见问题及解决方法,确保用户能够顺利进行系统安装。 ... [详细]
  • 在Python编程中,探讨了并发与并行的概念及其区别。并发指的是系统同时处理多个任务的能力,而并行则指在同一时间点上并行执行多个任务。文章详细解析了阻塞与非阻塞操作、同步与异步编程模型,以及IO多路复用技术的应用。通过模拟socket发送HTTP请求的过程,展示了如何创建连接、发送数据和接收响应,并强调了默认情况下socket的阻塞特性。此外,还介绍了如何利用这些技术优化网络通信性能和提高程序效率。 ... [详细]
  • 在Windows 10环境中通过单个Tomcat实例部署两个Web应用项目
    在Windows 10环境下,本文详细介绍了如何通过单一Tomcat实例部署两个Web应用项目。首先,准备所需的两个WAR包,分别为jprss.war和jenkins.war。接着,文章逐步讲解了具体的配置和操作步骤,确保两个项目能够顺利运行。最后,验证了两个应用项目的成功部署和正常运行。 ... [详细]
author-avatar
松原连伟强_124
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有