pdo擴(kuò)展為php訪問數(shù)據(jù)庫定義了一個(gè)輕量級(jí)的、一致性的接口,它提供了一個(gè)數(shù)據(jù)訪問抽象層,這樣,無論使用什么數(shù)據(jù)庫,都可以通過一致的函數(shù)執(zhí)行查詢和獲取數(shù)據(jù)。
創(chuàng)新互聯(lián)建站致力于互聯(lián)網(wǎng)網(wǎng)站建設(shè)與網(wǎng)站營銷,提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、網(wǎng)站開發(fā)、seo優(yōu)化、網(wǎng)站排名、互聯(lián)網(wǎng)營銷、微信小程序開發(fā)、公眾號(hào)商城、等建站開發(fā),創(chuàng)新互聯(lián)建站網(wǎng)站建設(shè)策劃專家,為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制解決方案,幫助客戶在新的全球化互聯(lián)網(wǎng)環(huán)境中保持優(yōu)勢(shì)。
在一些php管理系統(tǒng)需要開啟pdo和pdo_mysql擴(kuò)展,方法很簡單:
1、找到php.ini文件
2、打開后,搜索
extension=php_pdo.dll
和
extension=php_pdo_mysql.dll
,去掉前面“;”的注釋。
最終這兩行配置內(nèi)容如下:
extension=php_pdo.dll
extension=php_pdo_mysql.dll
重新啟動(dòng)apache或者iis后,在phpinfo函數(shù)中查看,是否開啟。
Mysqli是php5之后才有的功能,沒有開啟擴(kuò)展的朋友可以打開您的php.ini的配置文件。
查找下面的語句:;extension=php_mysqli.dll將其修改為:extension=php_mysqli.dll即可。
相對(duì)于mysql有很多新的特性和優(yōu)勢(shì)
(1)支持本地綁定、準(zhǔn)備(prepare)等語法
(2)執(zhí)行sql語句的錯(cuò)誤代碼
(3)同時(shí)執(zhí)行多個(gè)sql
(4)另外提供了面向?qū)ο蟮恼{(diào)用接口的方法。
你好,
1.去php網(wǎng)站上下載mysql擴(kuò)展,
2.解壓并使用phpize工具初始化,編譯:
#解壓
tar xzvf mysql-45881bd.tar.gz
#進(jìn)入mysql擴(kuò)展目錄 from
cd mysql-45881bd/
#使用phpize初始化,我的phpize在/opt/目錄
/opt/php/bin/phpize
#編譯mysql擴(kuò)展,使用mysql native driver作為mysql鏈接庫
./configure --with-php-config=/opt/php/bin/php-config --with-mysql=mysqlnd
make make install
3.接下來,我們直接編輯php.ini文件,把mysql.so拷貝到php.ini的extension_dir中,然后在php.ini中加入extension=mysql.so
4.重啟php
成功之后,用phpinfo即可看到mysql擴(kuò)展的信息
1.面向?qū)ο蟮氖褂梅绞?/p>
$db
=
new
mysqli('localhost',
'root',
'123456',
'dbname');
如果建立連接時(shí)未指定數(shù)據(jù)庫則選擇使用的數(shù)據(jù)庫,切換使用的數(shù)據(jù)庫
$db-select_db('dbname');
$query
=
"SELECT
*
FROM
user
WHERE
uid=4";
$result
=
$db-query($query);
$result_num
=
$result-num_rows;
$row
=
$result-fetch_assoc();
//返回一個(gè)關(guān)聯(lián)數(shù)組,可以通過$row['uid']的方式取得值
$row
=
$result-fetch_row();
//返回一個(gè)列舉數(shù)組,可以通過$row[0]的方式取得值
$row
=
$result-fetch_array();
//返回一個(gè)混合數(shù)組,可以通過$row['uid']和$row[0]兩種方式取得值
$row
=
$result-fetch_object();
//返回一個(gè)對(duì)象,可以通過$row-uid的方式取得值
$result-free();
//釋放結(jié)果集
$db-close();
//關(guān)閉一個(gè)數(shù)據(jù)庫連接,這不是必要的,因?yàn)槟_本執(zhí)行完畢時(shí)會(huì)自動(dòng)關(guān)閉連接
當(dāng)進(jìn)行INSERT、UPDATE、DELETE操作時(shí),使用$db-affected_rows查看影響行數(shù)
2.面向過程的使用方式
$db
=
mysqli_connect('localhost',
'root',
'123456',
'dbname');
如果建立連接時(shí)未指定數(shù)據(jù)庫則選擇使用的數(shù)據(jù)庫,切換使用的數(shù)據(jù)庫
mysqli_select_db($db,
'dbname');
查詢數(shù)據(jù)庫
$query
=
"SELECT
*
FROM
user
WHERE
uid=4";
$result
=
mysqli_query($db,
$query);
$result_num
=
mysqli_num_rows($result);
返回一行結(jié)果
$row
=
mysqli_fetch_assoc($result);
//返回一個(gè)關(guān)聯(lián)數(shù)組,可以通過$row['uid']的方式取得值
$row
=
mysqli_fetch_row($result);
//返回一個(gè)列舉數(shù)組,可以通過$row[0]的方式取得值
$row
=
mysqli_fetch_array($result);
//返回一個(gè)混合數(shù)組,可以通過$row['uid']和$row[0]兩種方式取得值
$row
=
mysqli_fetch_object($result);
//返回一個(gè)對(duì)象,可以通過$row-uid的方式取得值
斷開數(shù)據(jù)庫連接
mysqli_free_result($result);
//釋放結(jié)果集
mysqli_close($db);
//關(guān)閉一個(gè)數(shù)據(jù)庫連接,這不是必要的,因?yàn)槟_本執(zhí)行完畢時(shí)會(huì)自動(dòng)關(guān)閉連接
當(dāng)進(jìn)行INSERT、UPDATE、DELETE操作時(shí),使用mysqli_affected_rows()查看影響行數(shù)
首先mysqli("
localhost
","root","1234");應(yīng)該是個(gè)函數(shù),不應(yīng)該用new
關(guān)鍵字。
new
是來實(shí)例化對(duì)象的。
$link
=
mysqli_connect(
'localhost',
/*
The
host
to
connect
to
連接MySQL地址
*/
'user',
/*
The
user
to
connect
as
連接MySQL用戶名
*/
'password',
/*
The
password
to
use
連接MySQL密碼
*/
'world');
這個(gè)才是連接語句。
這個(gè)在配置里面是可以設(shè)置的,一般是與連接數(shù)據(jù)庫設(shè)置一起配置:
//數(shù)據(jù)庫配置信息
'DB_TYPE'???=?'mysql',?//?數(shù)據(jù)庫類型
'DB_HOST'???=?'localhost',?//?服務(wù)器地址
'DB_NAME'???=?'thinkphp',?//?數(shù)據(jù)庫名
'DB_USER'???=?'root',?//?用戶名
'DB_PWD'????=?'123456',?//?密碼
'DB_PORT'???=?3306,?//?端口
'DB_PREFIX'?=?'think_',?//?數(shù)據(jù)庫表前綴
'DB_CHARSET'=?'utf8',?//?字符集
'DB_DEBUG'??=??TRUE,?//?數(shù)據(jù)庫調(diào)試模式?開啟后可以記錄SQL日志
其中數(shù)據(jù)庫類型可以設(shè)置為:mysqli
更多類型還有:
DB_TYPE設(shè)置
支持的????????????????數(shù)據(jù)庫類型
mysql或mysqli ? ?mysql ?
pgsql ? ???????????????pgsql ?
sqlite ? ???????????????sqlite ?
mssql 或sqlsrv ? ?sqlserver ?
oracle ? ??????????????oracle ?
ibase ? ?????????????? ibase ?
mongo ? ?????????????mongo ?
PDO ? ?????????????????PDO支持的所有數(shù)據(jù)庫 ?