当前位置:首页 » 编程语言 » mysqlphp类

mysqlphp类

发布时间: 2022-09-10 18:24:23

A. php+Mysql 如何把针对数据库的添加,查询,修改,删除等操作做成一个PHP写的类

类我就不写了,简单的说function吧
function selectMysql ($columns, $table, $conds=false, $extra=false) {
if (count($columns)) $col = join(",", $columns);
else return false;

$cond = "";
if ($conds) $cond = "WHERE" . join(",", $conds);

$ex = "";
if ($extra) $ex = $extra;

$result = array();
$q = "SELECT $col FROM $table $cond $ex";
$s = mysql_query($q);
while ($r = mysql_fetch_assoc($r)) $result[] = $r;

if (count($result)) return $result;

return false;
}
就写一个select吧 其他类似。
不过我感觉这样写意义不是很大呀~ sql操作最重要的column table conditions 等等你还是要从外面传。
这个函数的column和condition接受数组(你改成str也行)
table和extra(主要是为了可以放点limit啊之类的)传入str。
返回一个二维数组(如果有值的话),$result[]对应sql里的一行记录。 $result[][]就是某行某列了。

B. php中有mysqli类,是吗$mysqli->info

本文所述的是一个在PHP中以mysqli方式连接数据库的一个数据库类实例,该数据库类是从一个PHP的CMS中整理出来的,可实现PHP连接数据库类,MySQLi版,兼容PHP4,对于有针对性需要的朋友可根据此代码进行优化和修改。
?

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
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419

<?php
#==================================================================================================
# Filename: /db/db_mysqli.php
# Note : 连接数据库类,MySQLi版
#==================================================================================================
#[类库sql]
class db_mysqli
{
var $query_count = 0;
var $host;
var $user;
var $pass;
var $data;
var $conn;
var $result;
var $prefix = "qingga

C. PHP mysql操作类的问题

你是想用填入一个数组然后自动解析出SQL语句么?
我给你个思路吧...

SELECT [select options] FROM [tables] [CONDITION]
首先是select options,一般有查询COUNT(*)、*或者指定一些查询值
所以可以把select options的选项定义在一个数组中的一个新的组
也就是
$array = array(
"SELECT" => array("a", "b")
);
你需要循环SELECT的值,然后解析成SQL
解析出来大概就是 SELECT a,b FROM ...
然后table,这个好说.. 直接给个固定值
最麻烦就是后面的CONDITION,也就是 SELECT **** WHERE a = 'a' 之类的东西
这个你可以作为常项
array(
“SELECT” => array("a","b"),
"username" => "mutou"
);
你直接循环这个单一数组,把SELECT单列出来,后面的用else,然后进行key和value的提取,获取值填入SQL
这段解析出来应该是 SELECT a,b FROM table WHERE username = "mutou"
其他SELECT的常用参数还有ORDER,LIMIT等,可以用同样的办法
最近写了一个比较简单的SELECT类.. 所以暂说这么多了

D. php实现mysql封装类示例

php封装mysql类
复制代码
代码如下:
<?php
class
Mysql
{
private
$host;
private
$user;
private
$pwd;
private
$dbName;
private
$charset;
private
$conn
=
null;
public
function
__construct()
{
$this->host
=
'localhost';
$this->user
=
'root';
$this->pwd
=
'root';
$this->dbName
=
'test';
$this->connect($this->host,$this->user,$this->pwd);
$this->switchDb($this->dbName);
$this->setChar($this->charset);
}
//负责链接
private
function
connect($h,$u,$p)
{
$conn
=
mysql_connect($h,$u,$p);
$this->conn
=
$conn;
}
//负责切换数据库
public
function
switchDb($db)
{
$sql
=
'use'
.
$db;
$this->query($sql);
}
//负责设置字符集
public
function
setChar($char)
{
$sql
=
'set
names'
.
$char;
$this->query($sql);
}
//负责发送sql查询
public
function
query($sql)
{
return
mysql_query($sql,$this->conn);
}
//负责获取多行多列的select结果
public
function
getAll($sql)
{
$list
=
array();
$rs
=
$this->query($sql);
if
(!$rs)
{
return
false;
}
while
($row
=
mysql_fetch_assoc($rs))
{
$list[]
=
$row;
}
return
$list;
}
public
function
getRow($sql)
{
$rs
=
$this->query($sql);
if(!$rs)
{
return
false;
}
return
mysql_fetch_assoc($rs);
}
public
function
getOne($sql)
{
$rs
=
$this->query($sql);
if
(!$rs)
{
return
false;
}
return
mysql_fetch_assoc($rs);
return
$row[0];
}
public
function
close()
{
mysql_close($this->conn);
}
}
echo
'<pre>';
$mysql
=
new
Mysql();
print_r($mysql);
$sql
=
"insert
into
stu
values
(4,'wangwu','99998')";
if($mysql->query($sql)){
echo
"query成功";
}else
{
echo
"失败";
}
echo
"<br
/>";
$sql
=
"select
*
from
stu";
$arr
=
$mysql->getAll($sql);
print_r($arr);
?>

E. php在类中怎么连接mysql数据库

classdbmysqli{
private$error='';
private$errno=0;
private$port;
private$host;
private$username;
private$password;
private$dbname;
private$charset;
public $mysqli;

/**
*构造函数
*@authoraaron
*@returnvoid
*/
function__construct(){
$this->port=3306;
$this->host='127.0.0.1';
$this->username='usert';
$this->password="******";
$this->dbname='testdb';
$this->charset='UTF8';

$db=newmysqli($this->host,$this->username,$this->password,$this->dbname,$this->port);
if(mysqli_connect_error()){
$this->error=mysqli_connect_error();
$this->errno=mysqli_connect_errno();
returnFALSE;
}
$db->query("SETNAMES".$this->charset);
$this->mysqli=$db;
}
}

F. php 封装MySQL类怎么,不能执行sql语句query()

看不懂你写的什么。给个现成的你

<?php
/**
*CreatedbyPhpStorm.
*User:TAOYU
*Date:14-11-16
*Time:上午1:28
*/
classmysql
{
protected$host;
protected$user;
protected$pwd;
protected$port;
protected$error;
protected$db;
protected$charset;
protected$conn=null;
publicstatic$total;//获得总条数
publicstatic$pages;//总页数
publicstatic$pagesize;//每页显示条数
public$act_page;//获取当前页码
public$start;//开始条数

//构造方法,初始化时连接数据库
publicfunction__construct($h='localhost',$u='root',$pwd='123',$port=3306)
{
$this->host=$h;
$this->user=$u;
$this->pwd=$pwd;
$this->port=$port;
$this->connect();
$this->selectDb('bookboss');
$this->setChar('utf8');
}

publicfunction__destruct()
{
mysql_close();
}

//连接方法
publicfunctionconnect()
{
if($this->conn=mysql_connect($this->host,$this->user,$this->pwd,$this->port)){
returntrue;
}else{
$this->error="连接失败!";
returnfalse;
}
}

//选库方法
publicfunctionselectDb($dbName)
{
//use后要有空格!!!注意!!!
$sql="use".$dbName;
$this->db=$dbName;
return$this->query($sql);
}

//设置字符集方法
publicfunctionsetChar($char)
{
//setnames后要有空格!!!注意!!!
$sql="setnames".$char;
return$this->query($sql);
}

//查询方法
publicfunctionquery($sql)
{
$rs=mysql_query($sql,$this->conn);
if(!$rs){
/*$this->error=mysql_error($this->conn);
$this->log($this->error);*/
returnfalse;
}else{
return$rs;
}
}

//取指定数据
/*publicfunctiongetData($page,$pagesize=5)
{
$start=($page-1)*$pagesize;
$rs=$this->query("select*fromstudentlimit$start,$pagesize");
if(!$rs){
returnfalse;
}else{
$list=array();
while($row=mysql_fetch_assoc($rs)){
$list[]=$row;
}
return$list;
}
}*/
//取数据
publicfunctiongetAll($sql)
{
$rs=$this->query($sql);
if(!$rs){
returnfalse;
}else{
$list=array();
while($row=mysql_fetch_assoc($rs)){
$list[]=$row;
}
return$list;
}
}
//返回sql语句结果条数
publicfunctiongetNums($sql){
returnmysql_num_rows($this->query($sql));
}
//insert插入数据方法
publicfunctioninsert($sql)
{

}

//读取错误方法
publicfunctiongetError()
{
return$this->error;
}
//记录日志方法
/*publicfunctionlog($err){
$time=date('Y-m-dH:i:s',time());
if(file_exists("./log.txt")){
$contents=file_get_contents("./log.txt");
$contents.="$time ".$err." ";
file_put_contents('./log.txt',$contents);
}else{
$filename='./log.txt';
$str='';
writefile($filename,$str);
$contents=file_get_contents("./log.txt");
$contents.="$time ".$err." ";
file_put_contents('./log.txt',$contents);
}

}*/
}

G. 谁给个php操作mysql类并有详细使用说明或例子

下面这个,是针对php5的一个简单数据库封装类,适合学习,其他的如删除、更新等操作,你可以自己加上:
<?php
class Mysql{ //首先定义一个类,首写字母大写
public $host;//服务器名,访问修饰符PUBLIC证明$host是一个公共的属情在类的内部外部都可访问,可以被继承
public $user;//用户名,是公共的属性
private $pass;//密码,问修饰符private证明$pass是私有的.只能在类的内部使用且不能被继承.
public $dbname;//数据库名,也是公共的属性.
//__construct声名这是一个造函数,定义一些初始的信息.有三个参数
public function __construct($host,$user,$pass,$dbname){
$this->host = $host;
$this->user = $user;
$this->pass = $pass;
$this->dbname = $dbname;
$link = @mysql_connect($this->host,$this->user,$this->pass)
or die("error");
@mysql_select_db($this->dbname,$link)
or die("error2");
}
//定义数据库的查寻和显示函数
function myQuery($sql){
$result = mysql_query($sql);
if(!$result){
echo "error3";
exit;
}
$num = mysql_num_rows($result);
if($num){
echo "NO".$num;
}
while($row = mysql_fetch_assoc($result)){
echo '<tr><td bgcolor="#fffddd"><pre>'.htmlspecialchars(stripslashes($row['body']))."<pre></td></tr>";
}
}
}
$rutt = new Mysql('localhost','root','ssss','calvin');//实例化一个类...记住这里的参数是和构造函数的参数一样的...
$rutt->myQuery('select * from calvin_body');//运行数据库查寻并显示的函数..
?>

H. php 类中连接mysql

classdemo
{
function__destruct()
{
$DB->close();//$DB哪里来的?应该是$this->DB->close()吧
}
publicfunction__construct()
{
$DB=newDB_MySQL;//这属于函数内部变量,函数执行完就消失了。所以应该用$this->DB=newDB_MySQL
$DB->connect(servername,dbusername,dbpassword,dbname,usepconnect);//同理,需要改成$this->DB,参数也有问题吧,还是你为避免泄露sql账号密码故意这么写的?
}
functiontest()
{
$sql1="SELECT*FROMtablimit1";
$txt=$DB->fetch_one_array($sql1);//同理,需要改成$this->DB
return$txt['id'];
}
}

$person=newdemo;
echo$person->test();

I. php数据类型和mysql数据类型的问题!

不清楚你的需求到底是啥! pl/sql 你知道吧。 遇到你这种情况,只能通过拓展的sql程序段来控制了。

就想 SqlServer 里变量声明用的该 decalare , Oracle里好像也是这个。

你就搜 “mysql的pl/sql 写法”

热点内容
算法工作原理 发布:2025-01-12 20:36:38 浏览:24
网络访问监控软件 发布:2025-01-12 20:26:57 浏览:465
养羊啦源码 发布:2025-01-12 20:25:48 浏览:570
轩逸朗逸哪个配置最好 发布:2025-01-12 20:10:00 浏览:49
主板存储器分 发布:2025-01-12 20:04:46 浏览:376
数据库逻辑运算 发布:2025-01-12 20:03:54 浏览:571
javawindows服务器搭建 发布:2025-01-12 19:59:37 浏览:570
linux关闭iptables 发布:2025-01-12 19:58:49 浏览:150
服务器电脑名字改了影响数据库吗 发布:2025-01-12 19:58:44 浏览:652
手机存储优化 发布:2025-01-12 19:58:43 浏览:356