mysql函数封装_PHP访问MYSQL数据库封装类(附函数说明)

/*

MYSQL 数据库访问封装类

MYSQL 数据访问方式,php4支持以mysql_开头的过程访问方式,php5开始支持以mysqli_开头的过程和mysqli面向对象

访问方式,本封装类以mysql_封装

数据访问的一般流程:

1,连接数据库 mysql_connect or mysql_pconnect

2,选择数据库 mysql_select_db

3,执行SQL查询 mysql_query

4,处理返回的数据 mysql_fetch_array mysql_num_rows mysql_fetch_assoc mysql_fetch_row etc

*/

class db_mysql

{

var $querynum = 0 ; //当前页面进程查询数据库的次数

var $dblink ; //数据库连接资源

//链接数据库

function connect($dbhost,$dbuser,$dbpw,$dbname='',$dbcharset='utf-8',$pconnect=0 , $halt=true)

{

$func = empty($pconnect) ? 'mysql_connect' : 'mysql_pconnect' ;

$this->dblink = @$func($dbhost,$dbuser,$dbpw) ;

if ($halt && !$this->dblink)

{

$this->halt("无法链接数据库!");

}

//设置查询字符集

mysql_query("SET character_set_connection={$dbcharset},character_set_results={$dbcharset},character_set_client=binary",$this->dblink) ;

//选择数据库

$dbname && @mysql_select_db($dbname,$this->dblink) ;

}

//选择数据库

function select_db($dbname)

{

return mysql_select_db($dbname,$this->dblink);

}

//执行SQL查询

function query($sql)

{

$this->querynum++ ;

return mysql_query($sql,$this->dblink) ;

}

//返回最近一次与连接句柄关联的INSERT,UPDATE 或DELETE 查询所影响的记录行数

function affected_rows()

{

return mysql_affected_rows($this->dblink) ;

}

//取得结果集中行的数目,只对select查询的结果集有效

function num_rows($result)

{

return mysql_num_rows($result) ;

}

//获得单格的查询结果

function result($result,$row=0)

{

return mysql_result($result,$row) ;

}

//取得上一步 INSERT 操作产生的 ID,只对表有AUTO_INCREMENT ID的操作有效

function insert_id()

{

return ($id = mysql_insert_id($this->dblink)) >= 0 ? $id : $this->result($this->query("SELECT last_insert_id()"), 0);

}

//从结果集提取当前行,以数字为key表示的关联数组形式返回

function fetch_row($result)

{

return mysql_fetch_row($result) ;

}

//从结果集提取当前行,以字段名为key表示的关联数组形式返回

function fetch_assoc($result)

{

return mysql_fetch_assoc($result);

}

//从结果集提取当前行,以字段名和数字为key表示的关联数组形式返回

function fetch_array($result)

{

return mysql_fetch_array($result);

}

//关闭链接

function close()

{

return mysql_close($this->dblink) ;

}

//输出简单的错误html提示信息并终止程序

function halt($msg)

{

$message = "\n

\n" ;

$message .= "\n" ;

$message .= "\n" ;

$message .= "

\n" ;

$message .= "数据库出错:".htmlspecialchars($msg)."\n" ;

$message .= "\n" ;

$message .= "" ;

echo $message ;

exit ;

}

}

?>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/340922.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mule和activemq_Mule ESB,ActiveMQ和DLQ

mule和activemq在本文中,我将展示一个简单的Mule ESB流程,以了解实际中使用的Active MQ 的DLQ功能 。 我假设您有一个正在运行的Apache ActiveMQ实例(如果没有,则可以在此处下载一个版本)。 在此示例中,我…

MySQL倒序如何避免filesort_如何避免mysql查询的filesort?

我用不同的参数使用这种查询:EXPLAIN SELECT SQL_NO_CACHE ilan_genel.id , ilan_genel.durum , ilan_genel.kategori , ilan_genel.tip , ilan_genel.ozellik , ilan_genel.m2 , ilan_genel.fiyat , ilan_genel.baslik , ilan_genel.ilce , ilan_genel.parabirimi …

在Java中键入Safe SQL

字符串,字符串,字符串 无论您使用的是JPA , MyBatis还是Spring Data JDBC之类的框架,最终都将SQL语句声明为Java String。 这种方法的问题在于,您必须为每个语句编写测试,以确保它甚至是有效的SQL。 没有编…

springmvc怎么设置更改了界面不用重启_Microsoft Visual Studio 2019 更改语言包

第一次写文章,如有格式等问题,请多多包含与指点!很多人在编程时更喜欢英文界面,认为与编程语言具有相同的语境,更顺手。但是,在更改环境显示语言时,可能会遇到一些障碍,例如我之前在…

苹果电脑怎么删除软件_误格式化,删除文件怎么恢复?3款最好用的数据恢复软件推荐...

1、EasyRecovery一款威力非常强大的硬盘数据恢复工具,能够恢复丢失的数据以及重建文件系统。主要体现在可以从被病毒破坏或是已经格式化的硬盘中恢复数据。EasyRecovery在使用过程中不会在原始的驱动器中写入任何东西,其主要是在内存中重建文件分区表使数…

设计模式 生成器_生成器设计模式的应用

设计模式 生成器嗨,您好! 今天,我将分享我制作的全新设计模式系列的第一个。 构建器设计模式是开发严肃的应用程序时非常有用且通用的模式。 在这篇文章中,我将提供一个很小的构建器模式框架,因此您随时可以回到这里并…

mysql增加sort_buffer_设置sort_buffer_size

sort_buffer_sizemysql> show variables like ‘%sort_buffer_size%’;————————-———| Variable_name | Value |————————-———| innodb_sort_buffer_size | 1048576 || myisam_sort_buffer_size | 8388608 || sort_buffer_size | 262144 |———————…

先发帖

通常,我们编写代码来计算出一堆可用的答案。 让我们看看Java中的情况。 public Widget getAppropriateWidget(CustomerRequest request) { if (shelfstock.contains(request.getBarcode()) { return new ShelfWidget(); } if (backroomStock.contains(request.getBa…

C++ Qt全局异常处理器_QT教程

点击上方 蓝字关注我们今日资源今天的资源是另一套QT教程,某马发的,网上搜集到的。这已经是这个公众号发放的第三套QT教程了。关于QT:Qt(官方发音 [kju:t],音同 cute)是一个跨平台的 C 开发库,主要用来开发图形用户界面…

inputdstream mysql_【sparkStreaming】将DStream保存在MySQL

package SparkDemoimport java.sql.{Connection, DriverManager, PreparedStatement}import org.apache.spark.SparkConfimport org.apache.spark.streaming.{Seconds, StreamingContext}object DStreamToMySQL {//定义更新函数def updateFunc(newValues : Seq[Int],state :Opt…

无线设置 用户_无线WiFi远距离无线蹭网怎么中继桥接组网【详细介绍】

自从小编每天分享各种各样的无线无线WiFi蹭网、桥接、远距离组网等实例,吸引了很多朋友的兴趣,有很多网友通过关心我后,给我私信,求助我一些相关的问题,还有一些朋友建议我出一些教程。首先小编觉得有些东西只能意会不…

Hibernate和UUID标识符

介绍 在我以前的文章中,我讨论了UUID代理密钥以及用例 , 这些用例比更常见的自动递增标识符更合适。 UUID数据库类型 有几种表示128位UUID的方法,每当有疑问时,我都希望向Stack Exchange寻求专家建议。 由于通常对表标识符进行索…

应用宝苹果版_点赞应用ios版下载-点赞应用苹果版下载v1.1

《点赞应用》app是一款实用的视频生成器工具,用户可以利用它为自己的视频添加各种各样的点赞效果。应用内含有多种类型的模板,都是免费使用的,想要将你的视频变得更有趣吗?快来下载体验一下这款应用吧!软件特色1、这个…

mysql+默认值+default_十六、MySQL 中数据类型的默认值 - default 约束-搜云库

MySQL 中,所有的数据类型,都可以显式或隐式的拥有默认值。我们可以使用 DEFAULT 约束显式的为列指定一个默认值。比如CREATE TABLE t1 (i INT DEFAULT -1,c VARCHAR(10) DEFAULT ,price DOUBLE(16,2) DEFAULT 0.00);在上面这条语句中,我们为 …

SQL即服务

自2007年以来,我一直在考虑这一点,大约在Amazon 推出 S3时。 我什至尝试实现了几次,但是在设计阶段之后就失败了。 我听说过一家初创公司,也曾尝试这样做,但也失败了 。 我仍然不确定是否可以这样做,但是它…

c++ vector 一部分_《JACS》:在富电子C-H键位点上实现光控活性聚合

可逆加成-断裂链转移(RAFT)自由基活性聚合是一种调控聚合物结构组成、分子量和分布的重要聚合方法,其中,光诱导电子/能量转移(PET)的RAFT聚合反应是一种更精确的调控手段,因而经常被用于设计具有复杂3D分子结构的聚合物。然而常规的PET-RAFT法…

phpmyadmin忘记mysql密码_忘记phpmyadmin密码怎么重置

忘记phpmyadmin密码怎么重置,新密码,教程,相关文章,重新启动,跳过忘记phpmyadmin密码怎么重置易采站长站,站长之家为您整理了忘记phpmyadmin密码怎么重置的相关内容。1、停止mysql服务:/etc/init.d/mysql stop2、跳过验证启动MySQL/usr/local/mysql/bin/…

java中避免空指针_在Java中避免空检查

java中避免空指针对于Java开发人员(从初级到专家)最糟糕的噩梦之一是空对象引用检查。 我很确定您已经看过几次这样的代码: public void addAddressToCustomer(Customer customer, Address newAddress){if ( cutomer null || newAddress n…

纵横免root框架打不开应用怎么办_很好用的软件多开神奇安卓欧皇十框架!!!...

欧皇十框架这是一款兼容安卓10的应用框架,轻松实现应用多开,可以完美免ROOT运行GG修改器,专为和平精英游戏设计,软件体积小,运行稳定。修改说明:1.支持更多应用游戏的多开、双开,使用更稳定、快…

用java和mysql开发网站怎么实现_如何用java开发一个网站?

java语言和类库:java语言是支持整个java技术的底层基础,java类库是随java语言Java 运行系统:主要指java虚拟机,负责将java与平台无关的中间代码翻译成本机的Java applet :Java applet 是用java语言编写的小应用程序,通…