通用mysql教程数据库教程连接类代码
数据库连接是一种有限的昂贵的资源,数据库连接影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。
/*
* created on 2010-3-8
* make by:suniteboy
* my first mysql class
*
*/
class mysql{
private $server ="";
private $user ="";
private $pwd ="";
private $database ="";
private $linkmode = 1; //连接模式,0表示普通连接,1表示永久连接
private $conn = 0;
private $sql =""; //sql语句
private $result =""; //query查询结果
private $record =""; //保存记录
//============================================
// 构造函数
//============================================
public function __construct($server,$user,$pwd,$database,$charset="utf8",$linkmode=0)
{
if(empty ( $server )| empty( $user ) | empty( $database ))
{
$this->show_error("连接信息不完整,请检查是否提供了服务器地址,用户名以及连接的数据库信息");
return 0;
}
$this->server = $server;
$this->user = $user;
$this->pwd = $pwd;
$this->database = $database;
$this->charset = $charset;
$this->linkmode = $linkmode;
$this->connect();
}
//============================================
// 连接函数
//============================================
public function connect()
{
$this->conn = $this->linkmode?mysql_pconnect($this->server,$this->user,$this->pwd):
mysql_connect($this->server,$this->user,$this->pwd);
if(!$this->conn)
{
$this->show_error('无法连接服务器');
return 0;
}
if(!mysql_select_db($this->database))
{
$this->show_error('无法连接数据库'.$this->database);
return 0;
}
// $this->query('set names '.$this->charset);
return $this->conn;
}
//============================================
// mysql查询函数
//============================================
public function query($sql)
{
if(empty($sql))
{
$this->show_error('sql语句为空');
return 0;
}
$this->sql = preg_replace('/ {2,}/',' ',trim($sql));
$this->result = mysql_query($this->sql,$this->conn);
if(!$this->result)
{
$this->show_error('sql语句错误',true);
return 0;
}
return $this->result;
}
//============================================
// 函数
//============================================
public function select_db($dbname)
{
return mysql_select_db($dbname);
}
public function fetch_array($query,$result_type=mysql_assoc)
{
return mysql_fetch_array($query,$result_type);
}
public function fetch_row($query)
{
return mysql_fetch_row($query);
}
//============================================
// 取得前一次mysql操作所影响到的记录行数
//============================================
public function affected_rows()
{
return mysql_affected_rows();
}
public function num_fields($query)
{
return mysql_num_fields($query);
}
public function num_rows($query)
{
return @mysql_num_rows($query);
}
public function insert_id()
{
return mysql_insert_id();
}
public function close()
{
return mysql_close();
}
//============================================
// 从记录中取出一条结果
//============================================
public function getone($sql)
{
$res = $this->query($sql);
if($res!==false)
{
$row = mysql_fetch_row($res);
if($row!==false)
{
return $row;
}
else
{
return '';
}
}
else
{
return false;
}
}
//============================================
// 从记录中取出所有结果
//============================================
public function getall($sql)
{
$res = $this->query($sql);
if($res!==false)
{
$arr = array();
while($row = mysql_fetch_assoc($res))
{
$arr[] = $row;
}
return $arr;
}
else
{
return false;
}
}
//============================================
// 错误提示函数
//============================================
public function show_error($msg='',$sql=false)
{
$err = '['.mysql_errno().']'.mysql_error();
if($sql) $sql='sql语句:'.$this->sql;
if($msg=='')
{
echo $err;
echo "";
}
elseif($sql &&$msg)
{
echo $msg;
echo "";
echo $sql;
}
else
{
echo $msg;
echo "";
}
}
}

本文讨论了PHP数据对象(PDO),这是PHP中数据库访问的扩展名。它通过准备好的语句及其对MySQLI的好处,包括数据库抽象和更好的错误处理,强调了PDO在增强安全性方面的作用。

memcache和memcached是通过减少数据库负载加快Web应用程序的PHP缓存系统。可以在仔细的密钥管理的项目之间共享一个实例。

本文讨论了JavaScript和PHP如何通过HTTP请求间接相互作用,因为它们的环境不同。它涵盖了将数据从JavaScript发送到PHP的方法

文章讨论了PHP从1995年的“个人主页工具”到1998年的“ PHP:超文本预处理器”的演变,这反映了其超越个人网站的扩展使用。

防止会话固定攻击的有效方法包括:1.在用户登录后重新生成会话ID;2.使用安全的会话ID生成算法;3.实施会话超时机制;4.使用HTTPS加密会话数据,这些措施能确保应用在面对会话固定攻击时坚不可摧。


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

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

热门文章

热工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

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

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中