PHP鏈接數(shù)據(jù)庫(kù)有幾種方式

創(chuàng)新互聯(lián)是一家專(zhuān)業(yè)提供定西企業(yè)網(wǎng)站建設(shè),專(zhuān)注與做網(wǎng)站、成都網(wǎng)站建設(shè)、H5技術(shù)、小程序制作等業(yè)務(wù)。10年已為定西眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專(zhuān)業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。
mysqli:
?php
$servername = "localhost";
$username = "username";
$password = "password";
// 創(chuàng)建連接
$conn = new mysqli($servername, $username, $password);
// 檢測(cè)連接
if ($conn-connect_error) {
die("連接失敗: " . $conn-connect_error);
}
echo "連接成功";
?
也可以使用PDO進(jìn)行鏈接,前提是你必須在php.ini中開(kāi)啟PDO:
?php
$servername = "localhost";
$username = "username";
$password = "password";
try {
$conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
echo "連接成功";
}
catch(PDOException $e)
{
echo $e-getMessage();
}
?
建議使用PDO,功能更加強(qiáng)大,兼容各種數(shù)據(jù)庫(kù)
關(guān)于這個(gè)問(wèn)題,差不多就是這個(gè)樣子的了,你如果不明白,可以自己去后盾瞅瞅,我這些都是在后盾上學(xué)的,有空可以去看一下,就算不喜歡也沒(méi)關(guān)系啊,何樂(lè)而不為呢?
以mysql為例
字段:userid,username,password,email
1.連接數(shù)據(jù)庫(kù):$conn=mysql_connect("localhost","username","password");
2.選擇數(shù)據(jù)庫(kù):$db=mysql_select_db("databaseName",$conn);
3.構(gòu)造sql語(yǔ)句:$sql="select * from userinfo";
4.執(zhí)行查詢(xún):$result=mysql_query($sql);
5.讀取數(shù)據(jù):$row=mysql_fetch_query($result);
6.循環(huán)顯示讀取數(shù)據(jù):
while($row){
echo $row["username"];
echo $row["password"];
echo $row["email"];
……
$row=mysql_fetch_query($result);
}
1.鏈接數(shù)據(jù)庫(kù)所在的服務(wù)器 mysql_connect 如:mysql_connect("127.0.0.1","root","111111") or die("未能鏈接上");
2.選擇數(shù)據(jù)庫(kù) mysql_select _db($db) or die("數(shù)據(jù)庫(kù)鏈接錯(cuò)誤!")
3.建立資源標(biāo)識(shí)符 $r= mysql_query($sql)
4.讀出 mysql_fetch_rows($r),mysql_fetch_assoc($r)
如:if(mysql_num_rows($r)0){
while($rows=mysql_fetch_assoc($r)){
echo $rows["id"]."-".$rows["name"];
}
}
5.釋放資源 mysql_query($r);
在mysql數(shù)據(jù)庫(kù)中,創(chuàng)建一個(gè)test數(shù)據(jù)庫(kù),用于測(cè)試。
請(qǐng)點(diǎn)擊輸入圖片描述
新建一個(gè)php文件,命名為test.php,用于講解php如何選擇要操作的數(shù)據(jù)庫(kù)。
請(qǐng)點(diǎn)擊輸入圖片描述
在test.php文件中,使用header()方法將頁(yè)面的編碼格式設(shè)置為utf-8,避免輸出中文亂碼。
請(qǐng)點(diǎn)擊輸入圖片描述
在test.php文件中,使用mysql_connect()函數(shù),通過(guò)賬號(hào)和密碼創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)的連接。
請(qǐng)點(diǎn)擊輸入圖片描述
在test.php文件中,再使用mysql_select_db()函數(shù)選擇要操作的數(shù)據(jù)庫(kù)test,選擇數(shù)據(jù)庫(kù)成功,則返回true,否則,返回false。最后,通過(guò)if語(yǔ)句判斷結(jié)果。
請(qǐng)點(diǎn)擊輸入圖片描述
在瀏覽器打開(kāi)test.php文件,查看結(jié)果。
請(qǐng)點(diǎn)擊輸入圖片描述
END
總結(jié):
1、創(chuàng)建一個(gè)test數(shù)據(jù)庫(kù)。
2、使用mysql_connect()函數(shù)創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)的連接。
3、再使用mysql_select_db()函數(shù)選擇要操作的數(shù)據(jù)庫(kù)test,并通過(guò)if語(yǔ)句判斷結(jié)果。
php操作mysql步驟:
1.$connect=mysql_connect('localhost','root','123456')
or
die('數(shù)據(jù)庫(kù)連接失敗。'mysql_error());鏈接mysql。
2.mysql_select_db('database',$connect)選擇鏈接的數(shù)據(jù)庫(kù)。
3.mysql_query('Set
names
gb2312');$sql
=
"select
*
from
blog_article";準(zhǔn)備要查詢(xún)的數(shù)據(jù)。
4.$datas
=
mysql_query($sql);執(zhí)行sql查詢(xún)。
5.$data
=
mysql_fetch_assoc($datas)得到查詢(xún)到的緩存在內(nèi)存中的一條數(shù)據(jù)。
6.print_r($data);
相同點(diǎn):三個(gè)函數(shù)都是返回?cái)?shù)據(jù)庫(kù)中查詢(xún)到的一行數(shù)據(jù)(說(shuō)的再清楚點(diǎn)就是一條數(shù)據(jù))。
不同點(diǎn):mysql_fetch_assoc()用的是數(shù)據(jù)庫(kù)中相應(yīng)的字段名作為的key值(也就是數(shù)組下標(biāo))
如:filed['id']=1;
mysql_fetch_row()用的是自動(dòng)生成的數(shù)字(從0開(kāi)始依次生成)作為的key值(也就是數(shù)組下標(biāo))
如:filed[0]=1;
mysql_fetch_array()用的是自動(dòng)生成的數(shù)字(從0開(kāi)始依次生成)作為的key值(也就是數(shù)組下標(biāo)),而且它還同時(shí)生成數(shù)據(jù)庫(kù)中相應(yīng)的字段名作為的key值(也就是數(shù)組下標(biāo))
如:
filed[0]=1,filed['id']=1;也就是說(shuō),mysql_fetch_array()將mysql_fetch_assoc()和mysql_fetch_row()查詢(xún)到的結(jié)果合為了一體了。
mysql_fetch_object()與mysql_fetch_assoc()差不多。只是mysql_fetch_assoc()返回的是數(shù)組。mysql_fetch_object()返回的是object對(duì)象。
mysql_insert_id() 取得上一步
INSERT
操作產(chǎn)生的
ID。
mysql_result()
函數(shù)返回結(jié)果集中一個(gè)字段的值。
mysql_num_fields()
函數(shù)返回結(jié)果集中字段的數(shù)目。
mysql_affected_rows();返回前一次
MySQL
操作所影響的記錄行數(shù)。
mysql_num_rows(mysql_query($sql))獲得結(jié)果集中行的數(shù)目。
mysql_pconnect()
函數(shù)打開(kāi)一個(gè)到
MySQL
服務(wù)器的持久連接。
mysql_pconnect()
和
mysql_connect()
非常相似,但有兩個(gè)主要區(qū)別:
1.
當(dāng)連接的時(shí)候本函數(shù)將先嘗試尋找一個(gè)在同一個(gè)主機(jī)上用同樣的用戶名和密碼已經(jīng)打開(kāi)的(持久)連接,如果找到,則返回此連接標(biāo)識(shí)而不打開(kāi)新連接。
2.
其次,當(dāng)腳本執(zhí)行完畢后到
SQL
服務(wù)器的連接不會(huì)被關(guān)閉,此連接將保持打開(kāi)以備以后使用(mysql_close()
不會(huì)關(guān)閉由
mysql_pconnect()
建立的連接)。
mysql_data_seek(mysql_query($sql),8);獲得結(jié)果集中的第8條數(shù)據(jù)。(mysql_num_rows(mysql_query($sql))和mysql_data_seek(mysql_query($sql),8)在mysql_unbuffered_query($sql)不可以使用。)
mysql_unbuffered_query($sql)和mysql_query($sql)效果差不多,但是
mysql_unbuffered_query($sql)不緩存。mysql_query($sql)會(huì)緩存查詢(xún)的結(jié)果。
mysql_close();關(guān)閉mysql的最近的鏈接。
mysql_field_flags(mysql_query($sql),6)返回第六個(gè)字段的表屬性輸出如:not_null
primary_key
auto_increment
。
mysql_fetch_lengths(mysql_query($sql))返回該條數(shù)據(jù)的所有字段的每個(gè)字段的長(zhǎng)度。返回的是一個(gè)數(shù)字組成的數(shù)組。
mysql_field_name(mysql_query($sql),3)返回第三個(gè)字段的字段名。
mysql_field_table(mysql_query($sql),0)返回指定字段所在的表名。
mysql_free_result(mysql_query($sql))
函數(shù)釋放結(jié)果內(nèi)存。
mysql_get_client_info()
函數(shù)返回
MySQL
客戶端信息。
mysql_get_host_info()
取得
MySQL
主機(jī)信息。
分享名稱(chēng):php程序操作數(shù)據(jù)庫(kù),php數(shù)據(jù)庫(kù)操作類(lèi)
標(biāo)題鏈接:http://chinadenli.net/article18/dsgedgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、網(wǎng)站內(nèi)鏈、App設(shè)計(jì)、Google、企業(yè)網(wǎng)站制作、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)