新聞中心
PHP是一種服務(wù)器端腳本語(yǔ)言,主要用于Web開(kāi)發(fā)。與Web開(kāi)發(fā)密切相關(guān)的就是數(shù)據(jù)庫(kù),而在PHP中,大多數(shù)操作數(shù)據(jù)庫(kù)的代碼都是用來(lái)連接數(shù)據(jù)庫(kù)的。本文將簡(jiǎn)述PHP編寫(xiě)的數(shù)據(jù)庫(kù)連接代碼。

成都創(chuàng)新互聯(lián)公司-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比醴陵網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式醴陵網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋醴陵地區(qū)。費(fèi)用合理售后完善,十年實(shí)體公司更值得信賴(lài)。
一、數(shù)據(jù)庫(kù)連接的方法
PHP調(diào)用數(shù)據(jù)庫(kù)主要有兩種方法:MySQLi和PDO,MySQLi是MySQL Improved Extension的縮寫(xiě),PDO是PHP數(shù)據(jù)對(duì)象的縮寫(xiě)。兩種方式都非常強(qiáng)大,選擇哪種方法需要考慮到具體情況。
1. 使用MySQLi
使用MySQLi方法的連接方式如下:
“`php
$servername = “l(fā)ocalhost”;
$username = “username”;
$password = “password”;
$dbname = “myDB”;
// 創(chuàng)建連接
$conn = new mysqli($servername, $username, $password, $dbname);
// 檢測(cè)連接
if ($conn->connect_error) {
die(“連接失敗: ” . $conn->connect_error);
}
“`
其中,$servername是主機(jī)名,$username是用戶(hù)名,$password是密碼,$dbname是數(shù)據(jù)庫(kù)名。根據(jù)自己的需求填寫(xiě)即可。如果連接成功,將創(chuàng)建一個(gè)名為$conn的連接對(duì)象。如果連接失敗,會(huì)輸出“連接失敗:”后跟著失敗信息。
2. 使用PDO
使用PDO方法的連接方式如下:
“`php
$servername = “l(fā)ocalhost”;
$username = “username”;
$password = “password”;
$dbname = “myDB”;
try {
$conn = new PDO(“mysql:host=$servername;dbname=$dbname”, $username, $password);
// 設(shè)置 PDO 錯(cuò)誤模式為異常
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo “連接成功”;
} catch(PDOException $e) {
echo “連接失敗: ” . $e->getMessage();
}
“`
與MySQLi的方法連接方式類(lèi)似,$servername是主機(jī)名,$username是用戶(hù)名,$password是密碼,$dbname是數(shù)據(jù)庫(kù)名。不同的是,使用PDO的方法把連接信息作為一個(gè)數(shù)據(jù)源(DSN)字符串傳入PDO構(gòu)造函數(shù),創(chuàng)建一個(gè)名為$conn的PDO對(duì)象。如果連接成功,將依次設(shè)置PDO的錯(cuò)誤模式為異常和輸出“連接成功”的信息。如果連接失敗,會(huì)輸出“連接失敗:”后跟著失敗信息。
二、使用MySQLi執(zhí)行SQL語(yǔ)句
如果成功連接到數(shù)據(jù)庫(kù),我們可以使用MySQLi類(lèi)的query()方法執(zhí)行SQL語(yǔ)句。
“`php
$sql = “SELECT id, firstname, lastname FROM MyGuests”;
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// 輸出每行數(shù)據(jù)
while($row = $result->fetch_assoc()) {
echo “id: ” . $row[“id”]. ” – Name: ” . $row[“firstname”]. ” ” . $row[“l(fā)astname”]. “
“;
}
} else {
echo “0 結(jié)果”;
}
“`
這段代碼中,我們執(zhí)行了一個(gè)查詢(xún)語(yǔ)句,將結(jié)果存儲(chǔ)在一個(gè)名為$result的對(duì)象中。我們可以檢查$num_rows屬性來(lái)確定結(jié)果集中是否有行,如果有,則可以使用fetch_assoc()函數(shù)返回一行數(shù)據(jù)。這個(gè)函數(shù)返回一個(gè)關(guān)聯(lián)數(shù)組,其中鍵是字段名,值是字段值。如有多行數(shù)據(jù),則可以使用while循環(huán)逐行輸出。
三、使用PDO執(zhí)行SQL語(yǔ)句
使用PDO執(zhí)行SQL語(yǔ)句時(shí),通過(guò)PDO類(lèi)的prepare()方法準(zhǔn)備好待執(zhí)行的SQL語(yǔ)句,之后,使用PDOStatement類(lèi)的execute()方法執(zhí)行SQL語(yǔ)句。同時(shí),使用PDOStatement類(lèi)的fetch()方法獲取結(jié)果集中的行。
“`php
$stmt = $conn->prepare(“SELECT id, firstname, lastname FROM MyGuests”);
$stmt->execute();
// 設(shè)置結(jié)果集為關(guān)聯(lián)數(shù)組
$result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
while ($row = $stmt->fetch()) {
echo “id: ” . $row[“id”]. ” – Name: ” . $row[“firstname”]. ” ” . $row[“l(fā)astname”]. “
“;
}
“`
這段代碼中,我們使用prepare()方法準(zhǔn)備好一條SQL查詢(xún)語(yǔ)句,使用execute()方法執(zhí)行,將結(jié)果存儲(chǔ)在一個(gè)名為$stmt的PDOStatement對(duì)象中。接著,我們使用setFetchMode(PDO::FETCH_ASSOC)方法將結(jié)果集設(shè)置為關(guān)聯(lián)數(shù)組。我們使用while循環(huán)逐行輸出結(jié)果。在輸出過(guò)程中,我們可以使用$row變量來(lái)獲取當(dāng)前行的字段值,該變量是一個(gè)關(guān)聯(lián)數(shù)組,其中鍵是字段名,值是字段值。
四、
PHP的數(shù)據(jù)庫(kù)連接主要使用MySQLi和PDO兩種方法,無(wú)論哪種方法,都需要提供正確的連接信息,否則連接會(huì)失敗。連接成功后,我們可以準(zhǔn)備好待執(zhí)行的SQL語(yǔ)句,執(zhí)行后獲取結(jié)果集。在獲取結(jié)果集后,我們可以使用while循環(huán)逐行輸出結(jié)果。在PHP中使用MySQLi或PDO來(lái)連接數(shù)據(jù)庫(kù)執(zhí)行SQL語(yǔ)句非常簡(jiǎn)單,大家可以放心使用。
相關(guān)問(wèn)題拓展閱讀:
- php連接遠(yuǎn)程數(shù)據(jù)庫(kù)
- php連接MySql全部代碼
php連接遠(yuǎn)程數(shù)據(jù)庫(kù)
對(duì)于PHP連接遠(yuǎn)程MySql數(shù)據(jù)庫(kù),逗知扮猛碧通常要使用如下的語(yǔ)句:
var $serverName = ‘db4free.net:3306’;//數(shù)據(jù)庫(kù)服務(wù)器
var $dbName= ‘dbname’;//數(shù)山灶據(jù)庫(kù)名
var $dbUsername = ‘username’;//用戶(hù)名
var $dbPassword = ‘123’;//登陸密碼
mysql_connect($serverName,$dbUsername ,$dbPassword);
mysql_select_db($dbName);
在php中如果要連接遠(yuǎn)程數(shù)據(jù)庫(kù)連接方法很簡(jiǎn)單,只要把本地連接localhost或127.0.0.1改成指定遠(yuǎn)程服務(wù)器一IP地址或者直接域名即可。
語(yǔ)遲侍法
mysql_connect(servername,username,password);
例子
在下面的春塌例子中,我們?cè)谝粋€(gè)變量中 ($con) 存放了在腳本中供稍后使用的連接。如果連接失敗,將執(zhí)行 “die” 部分:
代碼如下:
上面是連接本地?cái)?shù)據(jù)庫(kù),下面把localhost改成遠(yuǎn)程IP即可了
實(shí)例 代碼如下:
$conn=mysql_connect(‘
,’root’,”);
if(!$conn) echo “失敗!”;
else echo “成功!”;
// 從表中提取信息的sql語(yǔ)句
$sql=”SELECT * FROM user where userName=’$user_name'”;
// 執(zhí)行sql查詢(xún)
$result=mysql_db_query(‘info’, $sql, $conn);
// 獲取查詢(xún)結(jié)果
$row=mysql_fetch_row($result);
mysql_close();
php連接MySql全部代碼
建議你把數(shù)據(jù)庫(kù)操渣轎作封裝則梁基成一孫謹(jǐn)個(gè)類(lèi)。。
class
db{
function
db($dbuser,
$dbpassword,
$dbname,
$dbhost)
{
return
$this->__construct($dbuser,
$dbpassword,
$dbname,
$dbhost);
}
function
__construct($dbuser,
$dbpassword,
$dbname,
$dbhost)
{
register_shutdown_function(array(&$this,
“__destruct”));
$this->dbh
=
@mysql_connect($dbhost,
$dbuser,
$dbpassword,
true);
if
(!$this->dbh)
{
echo
“
數(shù)據(jù)庫(kù)連接錯(cuò)誤
“;
die();
}
if
(!@mysql_select_db($db,
$this->dbh))
{
echo
“
數(shù)據(jù)庫(kù)連接錯(cuò)誤
“;
die();
}
}
function
__destruct()
{
return
true;
}
You
are
codes
here…
}
$conn=mysql_query(主機(jī)名,數(shù)據(jù)庫(kù)用戶(hù)名,數(shù)據(jù)庫(kù)密碼)
or
die(mysql_error());
or
die(mysql_error())是多余的,意思是如果鏈接失敗將顯示失敗原因,
如果你鏈接后要執(zhí)蔽稿森行查詢(xún),首選要選擇要進(jìn)行的數(shù)庫(kù)宏畝
mysql_select_db(‘?dāng)?shù)據(jù)庫(kù)名敬盯’);
如果你要執(zhí)行查詢(xún)就要用到上邊的鏈接了($conn)
mysql_query(‘sql語(yǔ)句’,$conn)
數(shù)據(jù)庫(kù)連接代碼php的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于數(shù)據(jù)庫(kù)連接代碼php,PHP編寫(xiě)的數(shù)據(jù)庫(kù)連接代碼簡(jiǎn)述,php連接遠(yuǎn)程數(shù)據(jù)庫(kù),php連接MySql全部代碼的信息別忘了在本站進(jìn)行查找喔。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開(kāi)通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過(guò)10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)。專(zhuān)業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
本文題目:PHP編寫(xiě)的數(shù)據(jù)庫(kù)連接代碼簡(jiǎn)述(數(shù)據(jù)庫(kù)連接代碼php)
分享路徑:http://fisionsoft.com.cn/article/dpsjhij.html


咨詢(xún)
建站咨詢(xún)
