當前位置:首頁 » 編程語言 » 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