mysql操作类_PHP教程
/**
* 数据库操作类
* 2011/8/25
* kcj
* */
class MyDB {
private $db_host; //数据库主机名
private $db_user; //数据库用户名
private $db_pwd; //数据库密码
private $db_database; //数据库名
private $conn; //连接标识
private $result; //执行query命令的结果资源标识
private $row; //返回的条目数
private $sql; //sql执行语句
private $coding; //数据库编码
private $bulletin=true; // 是否开启错误记录
private $show_error=false; //测试阶段,显示所有错误,具有安全隐患,默认关闭
private $is_error=false; //发现错误是否立即终止,默认true,建议不启用,因为当有问题时用户什么也看不到是很苦恼的
//构造函数
function __construct($db_host,$db_user,$db_pwd,$db_database,$conn,$doding){
$this->db_host=$db_host;
$this->db_user=$db_user;
$this->db_pwd=$db_pwd;
$this->db_database=$db_database;
$this->conn=$conn;
$this->coding=$coding;
$this->connect();
}
//数据库连接
public function connect(){
if($this->conn=="pconn"){
//永久连接
$this->conn=mysql_pconnect($this->db_host,$this->db_user,$this->db_pwd);
}else{
//即使连接
$this->conn=mysql_connect($this->db_host,$this->db_user,$this->db_pwd);
}
if(!mysql_select_db($this->db_database,$this->conn)){
if($this->show_error){
$this->show_error("数据库不可用:",$this->db_database);
}
}
}
//数据库执行语句,可执行查询添加修改删除等任何sql语句
public function query($sql){
if($sql==""){
$this->show_error("sql语句错误:","sql语句为空");
}
$this->sql=$sql;
$result=mysql_query($this->sql,$this->conn);
if(!$result){
if($this->show_error){
$this->show_error("错误sql语句:",$this->sql);
}
}else {
$this->result;
}
return $result;
}
//创建添加新的数据库
public function create_database($database_name){
$database=$database_name;
$sqlDatabase='create database'.$database;
$this->query($sqlDatabase);
}
//查询服务器所有数据库
//将系统数据库与用户分开,更直观的显示
public function show_database(){
$this->query("show databases");
echo "现在有的数据库:".$amount=$this->db_num_rows($rs);
echo "
";
$i=1;
while ($row=$this->fetch_array($rs)){
echo "$i $row[Database]";
echo "
";
$i++;
}
}
//以数组的形式返回主机中所有的数据库名
public function databases(){
$rsPtr=mysql_list_dbs($this->conn);
$i=0;
$cnt=mysql_num_rows($rsPtr);
while ($i
$rs[]=mysql_db_name($rsPtr,$i);
$i++;
}
return $rs;
}
//查询数据库下所有的表
public function show_tables($database_name){
$this->query("show tables");
echo "现有数据库:".$amount=$this->db_num_rows($rs);
echo "
";
$i=1;
while ($row=$this->fetch_array($rs)){
$columnName="Tables_in_".$database_name;
echo "$i $row[$columnName]";
echo "
";
$i++;
}
}
// 取得结果集
public function fetch_array($resultt=""){
if($resultt!=""){
return mysql_fetch_array($resultt);
}else {
return mysql_fetch_array($this->result);
}
}
//取得结果数 $row['content']
public function mysql_result_li(){
return mysql_result($str);
}
//获取关联数组 $row['字段名']
public function fetch_assoc(){
return mysql_fetch_assoc($this->result);
}
//获取数字索引数组 $row[0] $row[1] $row[2]
public function fetch_row(){
return mysql_fetch_row($this->result);
}
//获取对象数组,使用$row->content
public function fetch_Object(){
return mysql_fetch_object($this->result);
}
//简化查询select
public function findall($table){
$this->query("select* from $table");
}
//简化查询select
public function select($table,$columnName="*",$condition='',$debug=''){
$condition=$condition?'where'.$condition:null;
if($debug){
echo "select $columnName from $table $condition";
}else{
$this->query("select $columnName from $table $condition");
}
}
//简化删除del
public function delete($table,$condition,$url=''){
if($this->query("delete from $table where $condition")){
if(!emptyempty($url)){
$this->Get_admin_msg($url,'删除成功');
}
}
}
//简化插入insert
public function insert($table,$columnName,$value,$url=''){
if($this->query("insert into $table ($columnName) values ($value)")){
if(!emptyempty($url)){
$this->Get_admin_msg($url,'添加成功');
}
}
}
//简化更新update
public function update($table,$mod_content,$condition,$url=''){
if($this->query("update $table set $mod_content where $condition")){
if(!emptyempty($url)){
$this->Get_admin_msg($url);
}
}
}
//取得上一步insert操作的id
public function insert_id(){
return mysql_insert_id();
}
//指向确定的一条数据记录
public function db_data_seek($id){
if($id>0){
$id=$id-1;
}
if(!@mysql_data_seek($this->result,$id)){
$this->show_error("sql语句有误:","指定的数据为空");
}
return $this->result;
}
//根据select查询结果计算结果集条数
public function db_num_rows(){
if($this->result=null){
if($this->show_error){
$this->show_error("sql语句错误:","暂时为空,没有任何内容");
}
}else{
return mysql_num_rows($this->result);
}
}
//根据insert update delete执行的结果驱动影响行数
public function db_affected_rows(){
return mysql_affected_rows();
}
//输出显示sql语句
public function show_error($message="",$sql=""){
if(!$sql){
echo "" . $message . "";
echo "
";
}else{
echo "
echo "
";
}
//释放结果集
public function free(){
@mysql_free_result($this->result);
}
//数据库选择
public function select_db($db_database){
return mysql_select_db($db_database);
}
//查询字段数量
public function num_fields($table_name){
$this->query("select * from $table_name");
echo "
";
echo "字段数:".$total=mysql_num_fields($this->result);
for ($i=0;$i print_r(mysql_fetch_field($this->result,$i));
}
echo "";
echo "
";
}
//取得mysql 服务器信息
public function mysql_server($num=''){
switch ($num){
case 1:
return mysql_get_server_info();
break;
case 2:
return mysql_get_host_info();
break;
case 3:
return mysql_get_client_info();
break;
case 4:
return mysql_get_proto_info();
break;
default:
return mysql_get_client_info();
}
}
public function __destruct(){
if(!emptyempty($this->result)){
$this->free();
}
mysql_close($this->conn);
}
//获得客户端真实的ID地址
function getip() {
if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) {
$ip = getenv("HTTP_CLIENT_IP");
} else
if (getenv("HTTP_X_FORWARDED_FOR") &&strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) {
$ip = getenv("HTTP_X_FORWARDED_FOR");
} else
if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) {
$ip = getenv("REMOTE_ADDR");
} else
if (isset ($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] &&strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) {
$ip = $_SERVER['REMOTE_ADDR'];
} else {
$ip = "unknown";
}
return ($ip);
}
}
?>
/**
* 数据库操作类
* 2011/8/25
* kcj
* */
class MyDB {
private $db_host; //数据库主机名
private $db_user; //数据库用户名
private $db_pwd; //数据库密码
private $db_database; //数据库名
private $conn; //连接标识
private $result; //执行query命令的结果资源标识
private $row; //返回的条目数
private $sql; //sql执行语句
private $coding; //数据库编码
private $bulletin=true; // 是否开启错误记录
private $show_error=false; //测试阶段,显示所有错误,具有安全隐患,默认关闭
private $is_error=false; //发现错误是否立即终止,默认true,建议不启用,因为当有问题时用户什么也看不到是很苦恼的
//构造函数
function __construct($db_host,$db_user,$db_pwd,$db_database,$conn,$doding){
$this->db_host=$db_host;
$this->db_user=$db_user;
$this->db_pwd=$db_pwd;
$this->db_database=$db_database;
$this->conn=$conn;
$this->coding=$coding;
$this->connect();
}
//数据库连接
public function connect(){
if($this->conn=="pconn"){
//永久连接
$this->conn=mysql_pconnect($this->db_host,$this->db_user,$this->db_pwd);
}else{
//即使连接
$this->conn=mysql_connect($this->db_host,$this->db_user,$this->db_pwd);
}
if(!mysql_select_db($this->db_database,$this->conn)){
if($this->show_error){
$this->show_error("数据库不可用:",$this->db_database);
}
}
}
//数据库执行语句,可执行查询添加修改删除等任何sql语句
public function query($sql){
if($sql==""){
$this->show_error("sql语句错误:","sql语句为空");
}
$this->sql=$sql;
$result=mysql_query($this->sql,$this->conn);
if(!$result){
if($this->show_error){
$this->show_error("错误sql语句:",$this->sql);
}
}else {
$this->result;
}
return $result;
}
//创建添加新的数据库
public function create_database($database_name){
$database=$database_name;
$sqlDatabase='create database'.$database;
$this->query($sqlDatabase);
}
//查询服务器所有数据库
//将系统数据库与用户分开,更直观的显示
public function show_database(){
$this->query("show databases");
echo "现在有的数据库:".$amount=$this->db_num_rows($rs);
echo "
";
$i=1;
while ($row=$this->fetch_array($rs)){
echo "$i $row[Database]";
echo "
";
$i++;
}
}
//以数组的形式返回主机中所有的数据库名
public function databases(){
$rsPtr=mysql_list_dbs($this->conn);
$i=0;
$cnt=mysql_num_rows($rsPtr);
while ($i $rs[]=mysql_db_name($rsPtr,$i);
$i++;
}
return $rs;
}
//查询数据库下所有的表
public function show_tables($database_name){
$this->query("show tables");
echo "现有数据库:".$amount=$this->db_num_rows($rs);
echo "
";
$i=1;
while ($row=$this->fetch_array($rs)){
$columnName="Tables_in_".$database_name;
echo "$i $row[$columnName]";
echo "
";
$i++;
}
}
// 取得结果集
public function fetch_array($resultt=""){
if($resultt!=""){
return mysql_fetch_array($resultt);
}else {
return mysql_fetch_array($this->result);
}
}
//取得结果数 $row['content']
public function mysql_result_li(){
return mysql_result($str);
}
//获取关联数组 $row['字段名']
public function fetch_assoc(){
return mysql_fetch_assoc($this->result);
}
//获取数字索引数组 $row[0] $row[1] $row[2]
public function fetch_row(){
return mysql_fetch_row($this->result);
}
//获取对象数组,使用$row->content
public function fetch_Object(){
return mysql_fetch_object($this->result);
}
//简化查询select
public function findall($table){
$this->query("select* from $table");
}
//简化查询select
public function select($table,$columnName="*",$condition='',$debug=''){
$condition=$condition?'where'.$condition:null;
if($debug){
echo "select $columnName from $table $condition";
}else{
$this->query("select $columnName from $table $condition");
}
}
//简化删除del
public function delete($table,$condition,$url=''){
if($this->query("delete from $table where $condition")){
if(!empty($url)){
$this->Get_admin_msg($url,'删除成功');
}
}
}
//简化插入insert
public function insert($table,$columnName,$value,$url=''){
if($this->query("insert into $table ($columnName) values ($value)")){
if(!empty($url)){
$this->Get_admin_msg($url,'添加成功');
}
}
}
//简化更新update
public function update($table,$mod_content,$condition,$url=''){
if($this->query("update $table set $mod_content where $condition")){
if(!empty($url)){
$this->Get_admin_msg($url);
}
}
}
//取得上一步insert操作的id
public function insert_id(){
return mysql_insert_id();
}
//指向确定的一条数据记录
public function db_data_seek($id){
if($id>0){
$id=$id-1;
}
if(!@mysql_data_seek($this->result,$id)){
$this->show_error("sql语句有误:","指定的数据为空");
}
return $this->result;
}
//根据select查询结果计算结果集条数
public function db_num_rows(){
if($this->result=null){
if($this->show_error){
$this->show_error("sql语句错误:","暂时为空,没有任何内容");
}
}else{
return mysql_num_rows($this->result);
}
}
//根据insert update delete执行的结果驱动影响行数
public function db_affected_rows(){
return mysql_affected_rows();
}
//输出显示sql语句
public function show_error($message="",$sql=""){
if(!$sql){
echo "" . $message . "";
echo "
";
}else{
echo "";
echo "
";
}
//释放结果集
public function free(){
@mysql_free_result($this->result);
}
//数据库选择
public function select_db($db_database){
return mysql_select_db($db_database);
}
//查询字段数量
public function num_fields($table_name){
$this->query("select * from $table_name");
echo "
";
echo "字段数:".$total=mysql_num_fields($this->result);
for ($i=0;$i print_r(mysql_fetch_field($this->result,$i));
}
echo "";
echo "
";
}
//取得mysql 服务器信息
public function mysql_server($num=''){
switch ($num){
case 1:
return mysql_get_server_info();
break;
case 2:
return mysql_get_host_info();
break;
case 3:
return mysql_get_client_info();
break;
case 4:
return mysql_get_proto_info();
break;
default:
return mysql_get_client_info();
}
}
public function __destruct(){
if(!empty($this->result)){
$this->free();
}
mysql_close($this->conn);
}
//获得客户端真实的ID地址
function getip() {
if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) {
$ip = getenv("HTTP_CLIENT_IP");
} else
if (getenv("HTTP_X_FORWARDED_FOR") &&strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) {
$ip = getenv("HTTP_X_FORWARDED_FOR");
} else
if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) {
$ip = getenv("REMOTE_ADDR");
} else
if (isset ($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] &&strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) {
$ip = $_SERVER['REMOTE_ADDR'];
} else {
$ip = "unknown";
}
return ($ip);
}
}
?>
摘自 chaojie2009的专栏

热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

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

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

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

Dreamweaver CS6
视觉化网页开发工具

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

热门话题

MySQL 数据库中,用户和数据库的关系通过权限和表定义。用户拥有用户名和密码,用于访问数据库。权限通过 GRANT 命令授予,而表由 CREATE TABLE 命令创建。要建立用户和数据库之间的关系,需创建数据库、创建用户,然后授予权限。

数据集成简化:AmazonRDSMySQL与Redshift的零ETL集成高效的数据集成是数据驱动型组织的核心。传统的ETL(提取、转换、加载)流程复杂且耗时,尤其是在将数据库(例如AmazonRDSMySQL)与数据仓库(例如Redshift)集成时。然而,AWS提供的零ETL集成方案彻底改变了这一现状,为从RDSMySQL到Redshift的数据迁移提供了简化、近乎实时的解决方案。本文将深入探讨RDSMySQL零ETL与Redshift集成,阐述其工作原理以及为数据工程师和开发者带来的优势。

1.使用正确的索引索引通过减少扫描的数据量来加速数据检索select*fromemployeeswherelast_name='smith';如果多次查询表的某一列,则为该列创建索引如果您或您的应用根据条件需要来自多个列的数据,则创建复合索引2.避免选择*仅选择那些需要的列,如果您选择所有不需要的列,这只会消耗更多的服务器内存并导致服务器在高负载或频率时间下变慢例如,您的表包含诸如created_at和updated_at以及时间戳之类的列,然后避免选择*,因为它们在正常情况下不需要低效查询se

要填写 MySQL 用户名和密码,请:1. 确定用户名和密码;2. 连接到数据库;3. 使用用户名和密码执行查询和命令。

MySQL适合初学者使用,因为它安装简单、功能强大且易于管理数据。1.安装和配置简单,适用于多种操作系统。2.支持基本操作如创建数据库和表、插入、查询、更新和删除数据。3.提供高级功能如JOIN操作和子查询。4.可以通过索引、查询优化和分表分区来提升性能。5.支持备份、恢复和安全措施,确保数据的安全和一致性。

数据库ACID属性详解ACID属性是确保数据库事务可靠性和一致性的一组规则。它们规定了数据库系统处理事务的方式,即使在系统崩溃、电源中断或多用户并发访问的情况下,也能保证数据的完整性和准确性。ACID属性概述原子性(Atomicity):事务被视为一个不可分割的单元。任何部分失败,整个事务回滚,数据库不保留任何更改。例如,银行转账,如果从一个账户扣款但未向另一个账户加款,则整个操作撤销。begintransaction;updateaccountssetbalance=balance-100wh

MySQL数据库性能优化指南在资源密集型应用中,MySQL数据库扮演着至关重要的角色,负责管理海量事务。然而,随着应用规模的扩大,数据库性能瓶颈往往成为制约因素。本文将探讨一系列行之有效的MySQL性能优化策略,确保您的应用在高负载下依然保持高效响应。我们将结合实际案例,深入讲解索引、查询优化、数据库设计以及缓存等关键技术。1.数据库架构设计优化合理的数据库架构是MySQL性能优化的基石。以下是一些核心原则:选择合适的数据类型选择最小的、符合需求的数据类型,既能节省存储空间,又能提升数据处理速度

通过以下命令查看 MySQL 数据库:连接到服务器:mysql -u 用户名 -p 密码运行 SHOW DATABASES; 命令获取所有现有数据库选择数据库:USE 数据库名;查看表:SHOW TABLES;查看表结构:DESCRIBE 表名;查看数据:SELECT * FROM 表名;
