常用的PHP數(shù)據(jù)庫操作方法(MYSQL版)
更新時間:2011年06月08日 00:20:45 作者:
最近一直在折騰自己的網(wǎng)站首頁,寫的大部分PHP腳本都要用到和MYSQL數(shù)據(jù)庫相關(guān)的操作,今天把這些方法和大家分享一下,希望大家能多多交流!
一、數(shù)據(jù)庫操作
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ù)庫
mysql_select_db()
連接上數(shù)據(jù)庫后,PHP默認選擇的數(shù)據(jù)庫未必是我們后面操作中需要的數(shù)據(jù)庫,為確保數(shù)據(jù)庫選擇正確,一般在數(shù)據(jù)庫連接語句后面還要加上數(shù)據(jù)庫選擇語句。
e.g.
復(fù)制代碼 代碼如下:
mysql_select_db(MYSQL_DB, $db) or die(mysql_error($db));
3. 執(zhí)行SQL語句
mysql_query()
該函數(shù)將SQL語句發(fā)送到當前活動的數(shù)據(jù)庫并執(zhí)行語句,返回結(jié)果。
e.g.
復(fù)制代碼 代碼如下:
$query = “SELECT * FROM $table”
$result = mysql_query($query, $db) or die(mysql_error($db));
4. 關(guān)閉數(shù)據(jù)庫
mysql_close()
該函數(shù)用于關(guān)閉不需要繼續(xù)活躍的數(shù)據(jù)庫,但該方法不是必須的,一般PHP會自動關(guān)閉不繼續(xù)活躍的數(shù)據(jù)庫。
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é)束之后很自動釋放占用的內(nèi)存。
二、SQL執(zhí)行結(jié)果操作
1. 返回執(zhí)行結(jié)果中的一行
mysql_fetch_row()
返回執(zhí)行結(jié)果的當前行的數(shù)值數(shù)組,執(zhí)行這個函數(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()返回鍵值對數(shù)組,鍵為查詢的table的列名;
mysql_fetch_assoc()返回結(jié)果時可以先排序(如果為可選參數(shù)賦值),相當于mysql_fetch_array()+MYSQL_ASSOC
3. 執(zhí)行結(jié)果的字段(列)屬性
mysql_fetch_field()
4. 查詢數(shù)據(jù)庫中的表名
mysql_list_tables()
e.g.
復(fù)制代碼 代碼如下:
$db_name = MYSQL_DB;
$result = mysql_list_tables($db_name);
echo “數(shù)據(jù)庫中包含如下表:”;
while ($row = mysql_fetch_row($result))
{
echo $row[0];
}
5. 查詢數(shù)據(jù)庫的列名(字段名)
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)頁中顯示中文時亂碼。
e.g.
復(fù)制代碼 代碼如下:
$query = “select * from $table_name”;
mysql_query(‘set names utf8′);
$result = mysql_query($query, $db) or die(mysql_error($db));
注:
1. 文中大寫代碼為預(yù)定義的內(nèi)容,如define(MYSQL_HOST, ‘localhost');
2. 本文僅總結(jié)了PHP操作數(shù)據(jù)庫的主要函數(shù),完整的內(nèi)容請參考PHP手冊的相關(guān)內(nèi)容。
您可能感興趣的文章:
- Php連接及讀取和寫入mysql數(shù)據(jù)庫的常用代碼
- PHP連接和操作MySQL數(shù)據(jù)庫基礎(chǔ)教程
- php mysql數(shù)據(jù)庫操作類
- PHP備份/還原MySQL數(shù)據(jù)庫的代碼
- php實現(xiàn)mysql數(shù)據(jù)庫備份類
- php連接mysql數(shù)據(jù)庫代碼
- PHP實現(xiàn)PDO的mysql數(shù)據(jù)庫操作類
- php實現(xiàn)MySQL數(shù)據(jù)庫備份與還原類實例
- 一款簡單實用的php操作mysql數(shù)據(jù)庫類
- PHP數(shù)據(jù)庫操作之基于Mysqli的數(shù)據(jù)庫操作類庫
- 全新的PDO數(shù)據(jù)庫操作類php版(僅適用Mysql)
- PHP基于ORM方式操作MySQL數(shù)據(jù)庫實例
相關(guān)文章
PHP mb_convert_encoding 獲取字符串編碼類型實現(xiàn)代碼
mb_convert_encoding函數(shù)就是那個可以自動識別原字符串編碼的函數(shù),但在使用中,發(fā)現(xiàn)GBK中的某些漢字被它轉(zhuǎn)成了亂碼。2009-04-04php 數(shù)學(xué)運算驗證碼實現(xiàn)代碼
php 數(shù)學(xué)運算驗證碼實現(xiàn)代碼2009-10-10基于magic_quotes_gpc與magic_quotes_runtime的區(qū)別與使用介紹
本篇文章小編為大家介紹,基于magic_quotes_gpc與magic_quotes_runtime的區(qū)別與使用介紹。需要的朋友參考下2013-04-04php通過baihui網(wǎng)API實現(xiàn)讀取word文檔并展示
這篇文章主要介紹了php通過baihui網(wǎng)API實現(xiàn)讀取word文檔并展示的相關(guān)資料,需要的朋友可以參考下2015-06-06PHP 實現(xiàn)公歷日期與農(nóng)歷日期的互轉(zhuǎn)換
這篇文章主要介紹了PHP 實現(xiàn)公歷日期與農(nóng)歷日期的互轉(zhuǎn)換的相關(guān)資料,希望通過本文大家能幫助到大家,需要的朋友可以參考下2017-09-09php幾個預(yù)定義變量$_SERVER用法小結(jié)
這篇文章主要介紹了php幾個預(yù)定義變量$_SERVER用法,實例總結(jié)了服務(wù)器端預(yù)定義變量$_SERVER的常見用法,需要的朋友可以參考下2014-11-11