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

來源:互聯網
上載者:User

一、資料庫操作
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));

註:
1. 文中大寫代碼為預定義的內容,如define(MYSQL_HOST, ‘localhost');
2. 本文僅總結了PHP操作資料庫的主要函數,完整的內容請參考PHP手冊的相關內容。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.