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

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


咨詢
建站咨詢
