天天看點

常用的PHP資料庫操作方法(MYSQL版)常用的PHP資料庫操作方法(MYSQL版)

常用的PHP資料庫操作方法(MYSQL版)

作者: 字型:[

增加 減小

] 類型:轉載 時間:2011-06-08

最近一直在折騰自己的網站首頁,寫的大部分PHP腳本都要用到和MYSQL資料庫相關的操作,今天把這些方法和大家分享一下,希望大家能多多交流!

一、資料庫操作 

1. 連接配接MYSQL資料 

mysql_connect() 

e.g. 

複制代碼代碼如下:

$db = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD) or die(‘Unable to connect, please check connection paremeters'); 

2. 選擇資料庫 

mysql_select_db() 

連接配接上資料庫後,PHP預設選擇的資料庫未必是我們後面操作中需要的資料庫,為確定資料庫選擇正确,一般在資料庫連接配接語句後面還要加上資料庫選擇語句。 

mysql_select_db(MYSQL_DB, $db) or die(mysql_error($db)); 

3. 執行SQL語句 

mysql_query() 

該函數将SQL語句發送到目前活動的資料庫并執行語句,傳回結果。 

$query = “SELECT * FROM $table” 

$result = mysql_query($query, $db) or die(mysql_error($db)); 

4. 關閉資料庫 

mysql_close() 

該函數用于關閉不需要繼續活躍的資料庫,但該方法不是必須的,一般PHP會自動關閉不繼續活躍的資料庫。

mysql_close($db); 

5. 釋放SQL結果 

mysql_free_result() 

該函數用于釋放mysql_query()執行結果占用的記憶體,該函數很少被調用,除非result很大,占用太多記憶體;一般在PHP腳本執行結束之後很自動釋放占用的記憶體。 

二、SQL執行結果操作 

1. 傳回執行結果中的一行 

mysql_fetch_row() 

傳回執行結果的目前行的數值數組,執行這個函數後,結果指向下一行。 

$row = mysql_fetch_row($result); 

處理執行結果一般放在while循環中,周遊每一行 

while($row = mysql_fetch_row($result)) 

{……} 

2. mysql_fetch_row()的替代方法 

mysql_fetch_array() 

mysql_fetch_assoc() 

mysql_fetch_array()傳回鍵值對數組,鍵為查詢的table的列名; 

mysql_fetch_assoc()傳回結果時可以先排序(如果為可選參數指派),相當于mysql_fetch_array()+MYSQL_ASSOC 

3. 執行結果的字段(列)屬性 

mysql_fetch_field() 

4. 查詢資料庫中的表名 

mysql_list_tables() 

$db_name = MYSQL_DB; 

$result = mysql_list_tables($db_name); 

echo “資料庫中包含如下表:”; 

while ($row = mysql_fetch_row($result)) 

echo $row[0]; 

5. 查詢資料庫的列名(字段名) 

mysql_list_fields() 

$fields = mysql_list_fields($db_name,$table); 

$columns = mysql_num_fields($fields); 

for ($i = 0; $i < $columns; $i++) 

echo mysql_field_name($fields, $i); 

三、其他函數 

1. mysql_num_rows() 

傳回執行結果的行數。 

$num = mysql_num_rows($result); 

2. mysql_num_fields() 

傳回執行結果的列數(字段數)。 

e.g. $num = mysql_num_fields($result); 

3.mysql_set_charset() 

設定執行結果的編碼,防止在網頁中顯示中文時亂碼。 

$query = “select * from $table_name”; 

mysql_query(‘set names utf8′); 

注: 

1. 文中大寫代碼為預定義的内容,如define(MYSQL_HOST, ‘localhost'); 

2. 本文僅總結了PHP操作資料庫的主要函數,完整的内容請參考PHP手冊的相關内容。