常用的PHP數(shù)據(jù)庫(kù)操作方法(MYSQL版)
更新時(shí)間:2011年06月08日 00:20:45 作者:
最近一直在折騰自己的網(wǎng)站首頁(yè),寫(xiě)的大部分PHP腳本都要用到和MYSQL數(shù)據(jù)庫(kù)相關(guān)的操作,今天把這些方法和大家分享一下,希望大家能多多交流!
一、數(shù)據(jù)庫(kù)操作
1. 連接MYSQL數(shù)據(jù)
mysql_connect()
e.g.
復(fù)制代碼 代碼如下:
$db = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD) or die(‘Unable to connect, please check connection paremeters');
2. 選擇數(shù)據(jù)庫(kù)
mysql_select_db()
連接上數(shù)據(jù)庫(kù)后,PHP默認(rèn)選擇的數(shù)據(jù)庫(kù)未必是我們后面操作中需要的數(shù)據(jù)庫(kù),為確保數(shù)據(jù)庫(kù)選擇正確,一般在數(shù)據(jù)庫(kù)連接語(yǔ)句后面還要加上數(shù)據(jù)庫(kù)選擇語(yǔ)句。
e.g.
復(fù)制代碼 代碼如下:
mysql_select_db(MYSQL_DB, $db) or die(mysql_error($db));
3. 執(zhí)行SQL語(yǔ)句
mysql_query()
該函數(shù)將SQL語(yǔ)句發(fā)送到當(dāng)前活動(dòng)的數(shù)據(jù)庫(kù)并執(zhí)行語(yǔ)句,返回結(jié)果。
e.g.
復(fù)制代碼 代碼如下:
$query = “SELECT * FROM $table”
$result = mysql_query($query, $db) or die(mysql_error($db));
4. 關(guān)閉數(shù)據(jù)庫(kù)
mysql_close()
該函數(shù)用于關(guān)閉不需要繼續(xù)活躍的數(shù)據(jù)庫(kù),但該方法不是必須的,一般PHP會(huì)自動(dòng)關(guān)閉不繼續(xù)活躍的數(shù)據(jù)庫(kù)。
e.g.
mysql_close($db);
5. 釋放SQL結(jié)果
mysql_free_result()
該函數(shù)用于釋放mysql_query()執(zhí)行結(jié)果占用的內(nèi)存,該函數(shù)很少被調(diào)用,除非result很大,占用太多內(nèi)存;一般在PHP腳本執(zhí)行結(jié)束之后很自動(dòng)釋放占用的內(nèi)存。
二、SQL執(zhí)行結(jié)果操作
1. 返回執(zhí)行結(jié)果中的一行
mysql_fetch_row()
返回執(zhí)行結(jié)果的當(dāng)前行的數(shù)值數(shù)組,執(zhí)行這個(gè)函數(shù)后,結(jié)果指向下一行。
e.g.
$row = mysql_fetch_row($result);
處理執(zhí)行結(jié)果一般放在while循環(huán)中,遍歷每一行
e.g.
while($row = mysql_fetch_row($result))
{……}
2. mysql_fetch_row()的替代方法
mysql_fetch_array()
mysql_fetch_assoc()
mysql_fetch_array()返回鍵值對(duì)數(shù)組,鍵為查詢(xún)的table的列名;
mysql_fetch_assoc()返回結(jié)果時(shí)可以先排序(如果為可選參數(shù)賦值),相當(dāng)于mysql_fetch_array()+MYSQL_ASSOC
3. 執(zhí)行結(jié)果的字段(列)屬性
mysql_fetch_field()
4. 查詢(xún)數(shù)據(jù)庫(kù)中的表名
mysql_list_tables()
e.g.
復(fù)制代碼 代碼如下:
$db_name = MYSQL_DB;
$result = mysql_list_tables($db_name);
echo “數(shù)據(jù)庫(kù)中包含如下表:”;
while ($row = mysql_fetch_row($result))
{
echo $row[0];
}
5. 查詢(xún)數(shù)據(jù)庫(kù)的列名(字段名)
mysql_list_fields()
e.g.
復(fù)制代碼 代碼如下:
$fields = mysql_list_fields($db_name,$table);
$columns = mysql_num_fields($fields);
for ($i = 0; $i < $columns; $i++)
echo mysql_field_name($fields, $i);
三、其他函數(shù)
1. mysql_num_rows()
返回執(zhí)行結(jié)果的行數(shù)。
e.g.
$num = mysql_num_rows($result);
2. mysql_num_fields()
返回執(zhí)行結(jié)果的列數(shù)(字段數(shù))。
e.g. $num = mysql_num_fields($result);
3.mysql_set_charset()
設(shè)置執(zhí)行結(jié)果的編碼,防止在網(wǎng)頁(yè)中顯示中文時(shí)亂碼。
e.g.
復(fù)制代碼 代碼如下:
$query = “select * from $table_name”;
mysql_query(‘set names utf8′);
$result = mysql_query($query, $db) or die(mysql_error($db));
注:
1. 文中大寫(xiě)代碼為預(yù)定義的內(nèi)容,如define(MYSQL_HOST, ‘localhost');
2. 本文僅總結(jié)了PHP操作數(shù)據(jù)庫(kù)的主要函數(shù),完整的內(nèi)容請(qǐng)參考PHP手冊(cè)的相關(guān)內(nèi)容。
您可能感興趣的文章:
- Php連接及讀取和寫(xiě)入mysql數(shù)據(jù)庫(kù)的常用代碼
- PHP連接和操作MySQL數(shù)據(jù)庫(kù)基礎(chǔ)教程
- php mysql數(shù)據(jù)庫(kù)操作類(lèi)
- PHP備份/還原MySQL數(shù)據(jù)庫(kù)的代碼
- php實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)備份類(lèi)
- php連接mysql數(shù)據(jù)庫(kù)代碼
- PHP實(shí)現(xiàn)PDO的mysql數(shù)據(jù)庫(kù)操作類(lèi)
- php實(shí)現(xiàn)MySQL數(shù)據(jù)庫(kù)備份與還原類(lèi)實(shí)例
- 一款簡(jiǎn)單實(shí)用的php操作mysql數(shù)據(jù)庫(kù)類(lèi)
- PHP數(shù)據(jù)庫(kù)操作之基于Mysqli的數(shù)據(jù)庫(kù)操作類(lèi)庫(kù)
- 全新的PDO數(shù)據(jù)庫(kù)操作類(lèi)php版(僅適用Mysql)
- PHP基于ORM方式操作MySQL數(shù)據(jù)庫(kù)實(shí)例
相關(guān)文章
利用discuz自帶通行證整合dedecms的方法以及文件下載
利用discuz自帶通行證整合dedecms的方法以及文件下載...2007-03-03
PHP中使用cURL實(shí)現(xiàn)Get和Post請(qǐng)求的方法
PHP中使用cURL實(shí)現(xiàn)Get和Post請(qǐng)求的方法,需要的朋友可以參考一下2013-03-03
CMSPRESS 10行代碼搞定 PHP無(wú)限級(jí)分類(lèi)2
超級(jí)無(wú)限分類(lèi) 使用簡(jiǎn)單 效率極高 核心代碼10行不到,另外 求這個(gè)分類(lèi)的不足,和更高效簡(jiǎn)單的無(wú)限分類(lèi)方法2018-03-03
詳談PHP面向?qū)ο笾谐S玫年P(guān)鍵字和魔術(shù)方法
下面小編就為大家?guī)?lái)一篇詳談PHP面向?qū)ο笾谐S玫年P(guān)鍵字和魔術(shù)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02

