1. 程式人生 > >pup與資料庫連結常用方法

pup與資料庫連結常用方法

 

一、資料庫操作

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預設選擇的資料庫未必是我們後面操作中需要的資料庫,為確保資料庫選擇正確,一般在資料庫連線語句後面還要加上資料庫選擇語句。

e.g.

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

3. 執行SQL語句

mysql_query()

該函式將SQL語句傳送到當前活動的資料庫並執行語句,返回結果。

e.g.

$query = “SELECT * FROM $table”

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

4. 關閉資料庫

mysql_close()

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

e.g.

mysql_close($db);

5. 釋放SQL結果

mysql_free_result()

該函式用於釋放mysql_query()執行結果佔用的記憶體,該函式很少被呼叫,除非result很大,佔用太多記憶體;一般在PHP指令碼執行結束之後很自動釋放佔用的記憶體。

二、SQL執行結果操作

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

mysql_fetch_row()

返回執行結果的當前行的數值陣列,執行這個函式後,結果指向下一行。

e.g.

$row = mysql_fetch_row($result);

處理執行結果一般放在while迴圈中,遍歷每一行

e.g.

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()

e.g.

$db_name = MYSQL_DB;
$result = mysql_list_tables($db_name);
echo “資料庫中包含如下表:”;
while ($row = mysql_fetch_row($result))
{
echo $row[0];
}

5. 查詢資料庫的列名(欄位名)

mysql_list_fields()

e.g.

$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()

返回執行結果的行數。

e.g.

$num = mysql_num_rows($result);

2. mysql_num_fields()

返回執行結果的列數(欄位數)。

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

3.mysql_set_charset()

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

e.g.

$query = “select * from $table_name”;
mysql_query(‘set names utf8′);
$result = mysql_query($query, $db) or die(mysql_error($db));