phpwind中的数据库操作类
程序员文章站
2022-06-01 09:36:17
<?php
/*来源:phpwind.net*/
class db {
var $query_num = 0;
function db($dbhost, $dbuser, $dbpw, $dbname, $pconnect = 0) {
$this->connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect);
}
function connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect = 0) {
$pconnect==0 ? @mysql_connect($dbhost, $dbuser, $dbpw) : @mysql_pconnect($dbhost, $dbuser, $dbpw);
mysql_errno()!=0 && $this->halt("connect($pconnect) to mysql failed");
if($this->server_info() > '4.1' && $globals['charset']){
mysql_query("set names '".$globals['charset']."'");
}
if($this->server_info() > '5.0'){
mysql_query("set sql_mode=''");
}
if($dbname) {
if (!@mysql_select_db($dbname)){
$this->halt('cannot use database');
}
}
}
function close() {
return mysql_close();
}
function select_db($dbname){
if (!@mysql_select_db($dbname)){
$this->halt('cannot use database');
}
}
function server_info(){
return mysql_get_server_info();
}
function query($sql,$method='') {
$globals['pw']=='pw_' or $sql=str_replace('pw_',$globals['pw'],$sql);
if($method=='u_b' && function_exists('mysql_unbuffered_query')){
$query = mysql_unbuffered_query($sql);
}else{
$query = mysql_query($sql);
}
$this->query_num++;
//echo $sql.'<br>'.$this->query_num.'<br>';
if (!$query) $this->halt('query error: ' . $sql);
return $query;
}
function get_one($sql){
$query=$this->query($sql,'u_b');
$rs =& mysql_fetch_array($query, mysql_assoc);
return $rs;
}
function pw_update($sql_1,$sql_2,$sql_3){
$rt=$this->get_one($sql_1);
if($rt){
$this->update($sql_2);
} else{
$this->update($sql_3);
}
}
function update($sql) {
$globals['pw']=='pw_' or $sql=str_replace('pw_',$globals['pw'],$sql);
if($globals['db_lp']==1){
if(substr($sql,0,7)=='replace'){
$sql=substr($sql,0,7).' low_priority'.substr($sql,7);
} else{
$sql=substr($sql,0,6).' low_priority'.substr($sql,6);
}
}
if(function_exists('mysql_unbuffered_query')){
$query = mysql_unbuffered_query($sql);
}else{
$query = mysql_query($sql);
}
$this->query_num++;
//echo $sql.'<br>'.$this->query_num.'<br>';
if (!$query) $this->halt('update error: ' . $sql);
return $query;
}
function fetch_array($query, $result_type = mysql_assoc) {
return mysql_fetch_array($query, $result_type);
}
function affected_rows() {
return mysql_affected_rows();
}
function num_rows($query) {
$rows = mysql_num_rows($query);
return $rows;
}
function free_result($query) {
return mysql_free_result($query);
}
function insert_id() {
$id = mysql_insert_id();
return $id;
}
function halt($msg='') {
require_once(r_p.'require/db_mysql_error.php');
new db_error($msg);
}
}
?>
推荐阅读
-
PHP操作SQLite数据库类与用法
-
在Python程序中操作MySQL的基本方法
-
php如何操作mysql数据库的类(附代码)
-
深入分析php中接口与抽象类的区别_PHP教程
-
php中文本操作的类_PHP教程
-
怎么从数据库中获取格式化的datetime类型值
-
php中的有关数据库如何应用
-
JavaEE基础day02 1.定义Java中的变量 四类八种 2.变量定义和使用的注意事项 3.数据类型的转换、强制数据类型转换4.算数运算符、比较运算符、逻辑运算符、赋值运算符、三元运算符
-
PHP中文件读、写、删的操作(PHP中对文件和目录操作)
-
将Mysql数据库迁移到Windows Azure上的SQL database中