1.面向?qū)ο蟮氖褂梅绞?/p>
成都創(chuàng)新互聯(lián)長(zhǎng)期為上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為工布江達(dá)企業(yè)提供專業(yè)的網(wǎng)站制作、網(wǎng)站建設(shè),工布江達(dá)網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
$db
=
new
mysqli('localhost',
'root',
'123456',
'dbname');
如果建立連接時(shí)未指定數(shù)據(jù)庫(kù)則選擇使用的數(shù)據(jù)庫(kù),切換使用的數(shù)據(jù)庫(kù)
$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ù)組,可以通過(guò)$row['uid']的方式取得值
$row
=
$result-fetch_row();
//返回一個(gè)列舉數(shù)組,可以通過(guò)$row[0]的方式取得值
$row
=
$result-fetch_array();
//返回一個(gè)混合數(shù)組,可以通過(guò)$row['uid']和$row[0]兩種方式取得值
$row
=
$result-fetch_object();
//返回一個(gè)對(duì)象,可以通過(guò)$row-uid的方式取得值
$result-free();
//釋放結(jié)果集
$db-close();
//關(guān)閉一個(gè)數(shù)據(jù)庫(kù)連接,這不是必要的,因?yàn)槟_本執(zhí)行完畢時(shí)會(huì)自動(dòng)關(guān)閉連接
當(dāng)進(jìn)行INSERT、UPDATE、DELETE操作時(shí),使用$db-affected_rows查看影響行數(shù)
2.面向過(guò)程的使用方式
$db
=
mysqli_connect('localhost',
'root',
'123456',
'dbname');
如果建立連接時(shí)未指定數(shù)據(jù)庫(kù)則選擇使用的數(shù)據(jù)庫(kù),切換使用的數(shù)據(jù)庫(kù)
mysqli_select_db($db,
'dbname');
查詢數(shù)據(jù)庫(kù)
$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ù)組,可以通過(guò)$row['uid']的方式取得值
$row
=
mysqli_fetch_row($result);
//返回一個(gè)列舉數(shù)組,可以通過(guò)$row[0]的方式取得值
$row
=
mysqli_fetch_array($result);
//返回一個(gè)混合數(shù)組,可以通過(guò)$row['uid']和$row[0]兩種方式取得值
$row
=
mysqli_fetch_object($result);
//返回一個(gè)對(duì)象,可以通過(guò)$row-uid的方式取得值
斷開(kāi)數(shù)據(jù)庫(kù)連接
mysqli_free_result($result);
//釋放結(jié)果集
mysqli_close($db);
//關(guān)閉一個(gè)數(shù)據(jù)庫(kù)連接,這不是必要的,因?yàn)槟_本執(zhí)行完畢時(shí)會(huì)自動(dòng)關(guān)閉連接
當(dāng)進(jìn)行INSERT、UPDATE、DELETE操作時(shí),使用mysqli_affected_rows()查看影響行數(shù)
1、用 mysql_connect 的方法,PHP7會(huì)報(bào)致命錯(cuò)誤
$conn= mysql_connect('localhost','xueyanxiang','xueyanxiang');
Fatal error : Uncaught Error: Call to undefined function mysql_connect() in /Users/xueyanxiang/work/test/xue.php:31 Stack trace: #0 /Users/xueyanxiang/work/test/xue.php(119): xue-run() #1 {main} thrown in? /Users/xueyanxiang/work/test/xue.php ?on line? 31
原因是:
PHP5中使用mysql_connect()函數(shù)進(jìn)行連接,但實(shí)際上,PHP5.5開(kāi)始,MySQL就不推薦使用了,屬于廢棄函數(shù)
PHP7中貌似已經(jīng)徹底不支持了,根據(jù)官網(wǎng)說(shuō)明,取而代之的是如下兩個(gè):
本擴(kuò)展自 PHP 5.5.0 起已廢棄,并在將來(lái)會(huì)被移除。應(yīng)使用?MySQLi?或?PDO_MySQL?擴(kuò)展來(lái)替換之。參見(jiàn)?MySQL:選擇
API?指南以及相關(guān) FAQ?以獲取更多信息。用以替代本函數(shù)的有:
mysqli_connect()
PDO::__construct()
使用時(shí),不要在使用mysql_connect了,可以換用mysqli_connect(),用法基本類似吧,據(jù)說(shuō)是面向?qū)ο蟮膸?kù)。
php.ini中,也只有extension=php_mysqli.dll,而不再有extension=php_mysql.dll這個(gè)拓展了。
2、可以使用mysqli,對(duì)象化,方法名與被廢棄的類似
$conn= mysqli_connect('localhost','xueyanxiang','xueyanxiang');
3、PDO工具,推薦使用
$dbh= "mysql:host=localhost;dbname=test";
$db= new PDO($dbh,'xueyanxiang','xueyanxiang');
$objQuery= $db-query("select * from user;");
$res= $objQuery-fetchAll(PDO::FETCH_ASSOC);
不填寫參數(shù)的話,默認(rèn)是關(guān)聯(lián)和索引都有,如下圖
?php
$servername?=?"localhost";?//你的連接地址,可以是ip
$username???=?"username";?//你的用戶名
$password???=?"password";?//你的密碼
$dbname?????=?"myDB";?//你要連接數(shù)據(jù)庫(kù)的名字
//?創(chuàng)建連接
$conn?=?new?mysqli($servername,?$username,?$password,?$dbname);
//?檢測(cè)連接
if?($conn-connect_error)?{
die("連接失敗:?"?.?$conn-connect_error);
}
echo?"連接成功";
學(xué)習(xí)可以參考: