php简单操作mysql数据库的类

 具体如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169

<?php
/**
* Database class
*
* @version: 2.2
* @revised: 27 may 2007
*
**/
class Database {
var $host;
var $name;
var $user;
var $pass;
var $prefix;
var $linkId;
function Database($mysql) {
foreach($mysql as $k => $v){
$this->$k = $v;
}
if(strlen($this->prefix)>0 && substr($this->prefix, -1) !== "_")
$prefix .= "_";
$this->prefix = $prefix;
}
function getLastID() {
$id = mysql_fetch_row(mysql_query("SELECT LAST_INSERT_ID()", $this->linkId));
return $id[0];
}
function getPossibleValues($tableA, $whereA) {
if(gettype($tableA) == "array") {
$table = "";
foreach($tableA as $t) {
$table .= $this->prefix.$t.", ";
}
$table = substr($table, 0, -2);
} else $table = $this->prefix.$tableA;
if(gettype($whereA) != "array") {
$whereA = array($whereA);
}
$return = array();
foreach($whereA as $where) {
$sql = mysql_query("SHOW COLUMNS FROM ".$table." LIKE '%".$where."%'");
while($arr = mysql_fetch_array($sql)) {
if(strpos($arr['Type'], 'enum')===0) {
$vals = substr($arr['Type'], 5, -1);
} else {
$vals = substr($arr['Type'], 4, -1);
}
$vals = str_replace("'","",$vals);
$vals = explode(",",$vals);
$i = 1;
foreach($vals as $val) {
$return[$arr['Field']][$i++] = $val;
}
$return[$arr['Field']]['default'] = $arr['Default'];
if($arr['Null'] != "NO") $return[$arr['Field']][0] = NULL;
}
}
return $return;
}
function connect() {
$this->linkId = mysql_connect($this->host, $this->user, $this->pass);
if(!$this->linkId) {
return false;
}
if(mysql_select_db($this->name, $this->linkId)) return true;
mysql_close($this->linkId);
return false;
}
function runSelect($tables, $where = "1", $fieldsA = "*", $order = false, $limit = false, $offset = false, $group = false) {
if(gettype($tables) == "array") {
$table = "";
foreach($tables as $t) {
$table .= $this->prefix.$t.", ";
}
$table = substr($table, 0, -2);
} else $table = $this->prefix.$tables;
if(gettype($fieldsA) == "array") {
$fields = "";
$keys = array_keys($fieldsA);
if($keys[0] != '0') {
foreach($keys as $key) {
$fields .= $key.' AS '.$fieldsA[$key].', ';
}
} else {
foreach($fieldsA as $field) {
$fields .= $field.', ';
}
}
$fields = substr($fields, 0, -2);
} else $fields = $fieldsA;
$query = "SELECT ".$fields." FROM ".$table." WHERE ".$where.
($order!== false?" ORDER BY ".$order:($group!==false ? " GROUP BY ".$group : "")).
($limit !== false?" LIMIT ".$limit:"").
($offset !== false?" OFFSET ".$offset:"");
return mysql_query($query, $this->linkId);
}
function runUpdate($table, $valuesA, $where = "1") {
if(gettype($valuesA) == "array") {
$fields = "";
$values = "";
$keys = array_keys($valuesA);
foreach($keys as $key) {
if($valuesA[$key] !== NULL)
$values .= "`".$key."`='".str_replace("'",''', $valuesA[$key])."',";
else
$values .= $key."=NULL,";
}
$fields = substr($fields, 0, -1);
$values = substr($values, 0, -1);
} else $values = $valuesA;
$query = "UPDATE ".$this->prefix.$table." SET ".$values." WHERE ".$where;
if(mysql_query($query,
$this->linkId))
return mysql_affected_rows($this->linkId);
return false;
}
function runDelete($table, $where = "1") {
if(mysql_query("DELETE FROM ".$this->prefix.$table." WHERE ".$where, $this->linkId))
return mysql_affected_rows($this->linkId);
return false;
}
function runInsert($table, $valuesA, $onDuplicate = NULL) {
if(gettype($valuesA) == "array") {
$fields = "";
$values = "";
$keys = array_keys($valuesA);
foreach($keys as $key) {
$fields .= "`".$key."`, ";
$values .= ($valuesA[$key]===NULL?"NULL, ":"'".str_replace("'", ''', $valuesA[$key])."', ");
}
$fields = substr($fields, 0, -2);
$values = substr($values, 0, -2);
}
$onDup = "";
if($onDuplicate != NULL) {
$onDup = " ON DUPLICATE KEY UPDATE ";
if(gettype($onDuplicate) == "array") {
$keys = array_keys($onDuplicate);
foreach($keys as $key) {
$onDup .= '`'.$key.'`='.($onDuplicate[$key]===NULL?"NULL,":"'".str_replace("'", ''', $onDuplicate[$key])."', ");
}
$onDup = substr($onDup, 0, -2);
} else $onDup .= $onDuplicate;
}
$query = "INSERT INTO ".$this->prefix.$table.($fields!==NULL?"(".$fields.")":"").
" VALUES (".$values.")".$onDup;
if(mysql_query($query, $this->linkId))
return mysql_affected_rows($this->linkId);
return false;
}
function getCells($table){
$query = "SHOW COLUMNS FROM `".$table."`";
$fields = mysql_query($query, $this->linkId) or die('hej');
return $fields;
}
function translateCellName($cellName){
$sql = $this->runSelect("mysql_cell_translation","mysql_name = '".$cellName."'");
$row = mysql_fetch_assoc($sql);
return $row['human_name']?$row['human_name']:'<span class="faded">['.$cellName.']</span>';
}
function getError() {
return mysql_error($this->linkId);
}
function close()
{
mysql_close($this->linkId);
}
}
?>

时间: 2024-08-17 21:35:03

php简单操作mysql数据库的类的相关文章

php简单操作mysql数据库的类_php技巧

本文实例讲述了php简单操作mysql数据库的类.分享给大家供大家参考.具体如下: <?php /** * Database class * * @version: 2.2 * @revised: 27 may 2007 * **/ class Database { var $host; var $name; var $user; var $pass; var $prefix; var $linkId; function Database($mysql) { foreach($mysql as

超简单php mysql数据库查询类

<?php教程  */  class Config{   private $host;        //主机名称:一般是localhost   private $root;        //数据库教程帐号:一般是root   private $password;    //数据库密码:一般为空   private $datebase;    //数据库名称:一般自己定义   private $ut;          //编码问题如:utf-8gbk   //初始化这个类的变量   func

MySQLdb操作mysql数据库的类

之前一直用torndb和SQLAlchemy,这次自己关注了下MySQLdb,感觉如果对T-SQL比较了解的下,还是用MySQLdb更灵活,而且很简单,不是吗?它所有的操作就只用一个execute()方法.  代码如下 复制代码 # -*- coding: utf-8 -*- import MySQLdb   conn = MySQLdb.connect(host='localhost',db='mydata', user='root', passwd='root', charset='utf8

一款简单实用的php操作mysql数据库类_php技巧

本文实例讲述了一款简单实用的php操作mysql数据库类.分享给大家供大家参考.具体如下: 复制代码 代码如下: /* 本款数据库连接类,他会自动加载sql防注入功能,过滤一些敏感的sql查询关键词,同时还可以增加判断字段 show table status的性质与show table类 获取数据库所有表名等.*/ @ini_set('mysql.trace_mode','off'); class mysql {  public $dblink;  public $pconnect;  priv

简单的Lua 连接操作mysql数据库的方法_Lua

win 需要先安装luaforwindows linux 需要安装 luarocks 并 luarocks install luasql-mysql require"luasql.mysql" --创建环境对象 env=luasql.mysql() --连接数据库 conn=env:connect("数据库名","用户名","密码","IP地址",端口) --设置数据库的编码格式 conn:execute&

PHP操作mysql数据库分表的方法_php实例

一般来说,当我们的数据库的数据超过了100w记录的时候就应该考虑分表或者分区了,这次我来详细说说分表的一些方法.首先,我们需要想好到底分多少个 表,前提当然是满足应用.这里我使用了一个比较简单的分表方法,就是根据自增id的尾数来分,也就是说分0-9一共10个表,其取值也很好做,就是对10 进行取模.另外,还可以根据某一字段的md5值取其中几位进行分表,这样的话,可以分的表就很多了. 好了,先来创建表吧,代码如下: CREATE TABLE `ttlsa_com`.`article_0` ( `i

.Net中操作MySql数据库的方法

mysql|数据|数据库 这是在VB.net中为连接MySQL中编写的一个类库.你可以使用这个类库直接操作MySql数据库. 在使用这个类库之前,你必须安装 ODBC MYSQL 3.51下载地址:http://www.mysql.com/downloads/api-myodbc-3.51.html Driver ODBC.NET下载地址:http://www.microsoft.com/downloads/details.aspx?FamilyId=6CCD8427-1017-4F33-A06

.Net中操作MySql数据库

mysql|数据|数据库 这是在VB.net中为连接MySql中编写的一个类库.你可以使用这个类库直接操作MySql数据库. 在使用这个类库之前,你必须安装 ODBC MYSQL 3.51下载地址:http://www.mysql.com/downloads/api-myodbc-3.51.html Driver ODBC.NET下载地址:http://www.microsoft.com/downloads/details.aspx?FamilyId=6CCD8427-1017-4F33-A06

.Net编写类库直接操作MySql数据库应用实例

这是在VB.net中为连接MySql中编写的一个类库.你可以使用这个类库直接操作MySql数据库. 在使用这个类库之前,你必须安装 ODBC MYSQL 3.51下载地址:http://www.mysql.com/downloads/api-myodbc-3.51.html Driver ODBC.NET下载地址:http://www.microsoft.com/downloads /details.aspx?FamilyId=6CCD8427-1017-4F33-A062-D165078E32