本文目錄一覽:
- 1、PHP使用mysqli擴展連接MySQL數據庫
- 2、info’ title=’php中有mysqli類,是嗎?$mysqli->info’>php中有mysqli類,是嗎?$mysqli->info
- 3、php怎麼用mysqli鏈接數據庫和輸出sql
- 4、PHP中mysql和mysqli的區別
- 5、thinkphp怎麼使用mysqli擴展庫
- 6、如何在php中擴展mysqli插件。
PHP使用mysqli擴展連接MySQL數據庫
1.面向對象的使用方式
$db
=
new
mysqli(‘localhost’,
‘root’,
‘123456’,
‘dbname’);
如果建立連接時未指定數據庫則選擇使用的數據庫,切換使用的數據庫
$db-select_db(‘dbname’);
$query
=
“SELECT
*
FROM
user
WHERE
uid=4″;
$result
=
$db-query($query);
$result_num
=
$result-num_rows;
$row
=
$result-fetch_assoc();
//返回一個關聯數組,可以通過$row[‘uid’]的方式取得值
$row
=
$result-fetch_row();
//返回一個列舉數組,可以通過$row[0]的方式取得值
$row
=
$result-fetch_array();
//返回一個混合數組,可以通過$row[‘uid’]和$row[0]兩種方式取得值
$row
=
$result-fetch_object();
//返回一個對象,可以通過$row-uid的方式取得值
$result-free();
//釋放結果集
$db-close();
//關閉一個數據庫連接,這不是必要的,因為腳本執行完畢時會自動關閉連接
當進行INSERT、UPDATE、DELETE操作時,使用$db-affected_rows查看影響行數
2.面向過程的使用方式
$db
=
mysqli_connect(‘localhost’,
‘root’,
‘123456’,
‘dbname’);
如果建立連接時未指定數據庫則選擇使用的數據庫,切換使用的數據庫
mysqli_select_db($db,
‘dbname’);
查詢數據庫
$query
=
“SELECT
*
FROM
user
WHERE
uid=4″;
$result
=
mysqli_query($db,
$query);
$result_num
=
mysqli_num_rows($result);
返回一行結果
$row
=
mysqli_fetch_assoc($result);
//返回一個關聯數組,可以通過$row[‘uid’]的方式取得值
$row
=
mysqli_fetch_row($result);
//返回一個列舉數組,可以通過$row[0]的方式取得值
$row
=
mysqli_fetch_array($result);
//返回一個混合數組,可以通過$row[‘uid’]和$row[0]兩種方式取得值
$row
=
mysqli_fetch_object($result);
//返回一個對象,可以通過$row-uid的方式取得值
斷開數據庫連接
mysqli_free_result($result);
//釋放結果集
mysqli_close($db);
//關閉一個數據庫連接,這不是必要的,因為腳本執行完畢時會自動關閉連接
當進行INSERT、UPDATE、DELETE操作時,使用mysqli_affected_rows()查看影響行數
info’>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
php怎麼用mysqli鏈接數據庫和輸出sql
一、mysql與mysqli的概念相關:
1、mysql與mysqli都是php方面的函數集,與
mysql數據庫
關聯不大。
2、在
php5
版本之前,一般是用php的
mysql函數
去驅動mysql數據庫的,比如mysql_query()的函數,屬於
面向過程
3、在php5版本以後,增加了mysqli的函數功能,某種意義上講,它是mysql系統函數的增強版,更穩定更高效更安全,與mysql_query()對應的有mysqli_query(),屬於面向對象,用對象的方式操作驅動mysql數據庫
二、mysql與mysqli的區別:
1、mysql是非持繼連接函數,mysql每次鏈接都會打開一個連接的進程。
2、mysqli是永遠連接函數,mysqli多次運行mysqli將使用同一連接進程,從而減少了服務器的開銷。mysqli封裝了諸如事務等一些高級操作,同時封裝了DB操作過程中的很多可用的方法。
三、mysql與mysqli的用法:
1:mysql(過程方式):
$conn
=
mysql_connect(‘
localhost
‘,
‘user’,
‘password’); //連接mysql數據庫
mysql_select_db
(‘data_base’);
//選擇數據庫$result
=
mysql_query(‘select
*
from
data_base’);//第二個可選參數,指定打開的連接$row
=
mysql_fetch_row(
$result
)
)
//只取一行數據echo
$row[0];
//輸出第一個字段的值
PS:mysqli以過程式的方式操作,有些函數必須指定資源,比如mysqli_query(資源標識,
SQL語句
),並且資源標識的參數是放在前面的,而mysql_query(SQL語句,’資源標識’)的資源標識是可選的,默認值是上一個打開的連接或資源。
2、mysqli(對象方式):
$conn
=
new
mysqli(‘localhost’,
‘user’,
‘password’,’data_base’);//要使用new
操作符
,最後一個參數是直接指定數據庫//假如構造時候不指定,那下一句需要$conn
–
select_db(‘data_base’)實現$result
=
$conn
–
query(
‘select
*
from
data_base’
);$row
=
$result
–
fetch_row();
//取一行數據echo
row[0];
//輸出第一個字段的值
使用new
mysqli(‘localhost’,
usenamer’,
‘password’,
‘databasename’);會報錯,提示如下:
Fatal
error:
Class
‘mysqli’
not
found
in
…
一般是mysqli是沒有開啟的,因為mysqli類不是
默認開啟
的,win下要改php.ini,去掉php_mysqli.dll前的;,linux下要把mysqli編譯進去。
四、mysql_connect()與mysqli_connect()
1.使用mysqli,可以把數據庫名稱當作參數傳給mysqli_connect()函數,也可以傳遞給mysqli的
構造函數
;
2.如果調用mysqli_query()或mysqli的對象查詢query()方法,則連接標識是必需的。
PHP中mysql和mysqli的區別
mysql和mysqli都是php操作mysql數據庫的擴展模塊,mysqli可以說是mysql的升級版。
建議不要再用mysql,而採用mysqli或者pdo,php7已經完全廢除了mysql
thinkphp怎麼使用mysqli擴展庫
這個在配置裡面是可以設置的,一般是與連接數據庫設置一起配置:
//數據庫配置信息
‘DB_TYPE’ = ‘mysql’, // 數據庫類型
‘DB_HOST’ = ‘localhost’, // 服務器地址
‘DB_NAME’ = ‘thinkphp’, // 數據庫名
‘DB_USER’ = ‘root’, // 用戶名
‘DB_PWD’ = ‘123456’, // 密碼
‘DB_PORT’ = 3306, // 端口
‘DB_PREFIX’ = ‘think_’, // 數據庫表前綴
‘DB_CHARSET’= ‘utf8’, // 字符集
‘DB_DEBUG’ = TRUE, // 數據庫調試模式 開啟後可以記錄SQL日誌
其中數據庫類型可以設置為:mysqli
更多類型還有:
DB_TYPE設置
支持的 數據庫類型
mysql或mysqli mysql
pgsql pgsql
sqlite sqlite
mssql 或sqlsrv sqlserver
oracle oracle
ibase ibase
mongo mongo
PDO PDO支持的所有數據庫
如何在php中擴展mysqli插件。
Mysqli是php5之後才有的功能,沒有開啟擴展的可以打開php.ini的配置文件
查找下面的語句:;extension=php_mysqli.dll將其修改為:extension=php_mysqli.dll即可。
相對於mysql有很多新的特性和優勢
(1)支持本地綁定、準備(prepare)等語法
(2)執行sql語句的錯誤代碼
(3)同時執行多個sql
(4)另外提供了面向對象的調用接口的方法。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/192156.html