[PHP] php操作mysql總結(jié)

(1)連接數(shù)據(jù)庫(kù)服務(wù)器

$connection=mysql_connect('localhost','root','');

<u></u>mysql_connect用來(lái)打開(kāi)非持久的mysql連接。
它接受3個(gè)參數(shù):服務(wù)器地址,用戶名,密碼
如果成功則返回一個(gè)mysql連接標(biāo)識(shí),失敗則返回false

注意:
腳本一結(jié)束,到服務(wù)器的連接就被關(guān)閉。
除非之前已經(jīng)明確調(diào)用mysql_close($connection)關(guān)閉了。
要?jiǎng)?chuàng)建一個(gè)持久連接,使用mysql_pconnect函數(shù)。

(2)選擇數(shù)據(jù)庫(kù)

mysql_select_db('db_name',$connection);

<u></u>mysql_select_db用來(lái)設(shè)置活動(dòng)的mysql數(shù)據(jù)庫(kù)。
它接受2個(gè)參數(shù):數(shù)據(jù)庫(kù)名,連接標(biāo)識(shí)(可選,如果未指定,則使用上一個(gè)連接)
如果成功則返回true,失敗則返回false。

(3)連接數(shù)據(jù)庫(kù)的時(shí)候指定編碼

使php寫入mysql的編碼為utf-8。

php5.2.3以及mysql5.0.7之后建議使用:

mysql_set_charset('utf8',$connection);

不建議使用:

mysql_query('SET NAME utf8',$connection);

(4)執(zhí)行sql語(yǔ)句

$sql=" SELECT * FROM` gosun_activity `";
$result=mysql_query($sql);

<u></u>mysql_query用來(lái)執(zhí)行一條mysql查詢。
它接受2個(gè)參數(shù):查詢字符串,連接標(biāo)識(shí)(可選,如果未規(guī)定,則使用上一個(gè)打開(kāi)的連接)
<u></u>mysql_query僅對(duì)SELECTSHOW,EXPLAINDESCRIBE語(yǔ)句返回一個(gè)資源標(biāo)識(shí)符(結(jié)果集),如果查詢執(zhí)行不正確則返回false。對(duì)于其他類型的sql語(yǔ)句,mysql_query在執(zhí)行成功時(shí)返回true,出錯(cuò)時(shí)返回false。

注意:
查詢字符串不應(yīng)以分號(hào)結(jié)束。
如果沒(méi)有打開(kāi)的連接,本函數(shù)會(huì)嘗試無(wú)參數(shù)調(diào)用mysql_connect函數(shù)來(lái)建立一個(gè)連接并使用。
非false的返回值,意味著查詢是合法的,并能夠被服務(wù)器執(zhí)行,這并不說(shuō)明任何有關(guān)影響到的或返回的行數(shù),很有可能一條查詢執(zhí)行成功了但并未影響到或并未返回任何行。
該函數(shù)會(huì)自動(dòng)對(duì)記錄集進(jìn)行讀取和緩存,如需進(jìn)行非緩存查詢,使用mysql_unbuffered_query

(5)獲得返回行數(shù)

$supportNumber=mysql_num_rows($result);

<u></u>mysql_num_rows用來(lái)返回結(jié)果集中行的數(shù)目。
它接受1個(gè)參數(shù):結(jié)果集。

注意:
此命令僅對(duì)SELECT語(yǔ)句有效。
要取得被INSERT,UPDATE,或者DELETE查詢所影響到的行的數(shù)目,使用mysql_affected_rows。
如果使用mysql_unbuffered_query,則直到結(jié)果集中的所有行都被提取后mysql_num_rows才能返回正確的值。

(6)獲得結(jié)果集的下一行

$row=mysql_fetch_array($result);

<u></u>mysql_fetch_array用來(lái)從結(jié)果集中取得一行作為數(shù)組。
(關(guān)聯(lián)數(shù)組,數(shù)字?jǐn)?shù)組,或二者兼有)
如果沒(méi)有更多的行,則返回false。
它接受2個(gè)參數(shù):數(shù)據(jù)指針,結(jié)果類型
數(shù)據(jù)指針,是mysql_query的返回值。
結(jié)果類型,MYSQL_ASSOC關(guān)聯(lián)數(shù)組,MYSQL_NUM數(shù)字?jǐn)?shù)組,MYSQL_BOTH默認(rèn)(同時(shí)產(chǎn)生關(guān)聯(lián)和數(shù)字?jǐn)?shù)組)

注意:
<u></u>mysql_fetch_arraymysql_fetch_row的擴(kuò)展版本,除了將數(shù)據(jù)以數(shù)字索引方式儲(chǔ)存在數(shù)組中之外,還可以將數(shù)據(jù)作為關(guān)聯(lián)索引儲(chǔ)存,用字段名作為鍵名。
mysql_fetch_array并不明顯比用mysql_fetch_row慢,而且還明顯提供了更多的值。
字段名是區(qū)分大小寫的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容