|
利用PHP操作MySQL數(shù)據(jù)庫
MySQL是一款廣受歡迎的數(shù)據(jù)庫,倍受PHP開發(fā)者的喜愛,一直被認(rèn)為是PHP的最好搭當(dāng)。以下講解用PHP操作MySQL的基本思路。 首先要明確操作MySQL必須用到的相關(guān)信息。如果采用的是虛擬主機(jī),那么您的服務(wù)商會把這些告訴您;如果是本機(jī)調(diào)試,那么可以通過命令行模式創(chuàng)建用戶、數(shù)據(jù)庫等,具體的操作可以在搜索引擎搜索“MYSQL 4.1簡體中文手冊”。
知道了MySQL的信息以后,需要定義四個變量,如:$db_host(MySQL服務(wù)器地址)、$db_name(數(shù)據(jù)庫名稱)、$db_user(賬號名)、$db_password(賬號的密碼)。
這里假設(shè)您已經(jīng)了解PHP函數(shù)庫中這幾個函數(shù)的用途:mysql_connect()、mysql_select_db()、mysql_query()、mysql_fetch_array()、mysql_free_result()、mysql_close()。
下面先看一個數(shù)據(jù)庫連接的例子:
<?php //結(jié)合剛才定義過的變量,使用mysql_connect()連接,格式如下 //mysql_connect("MySQL服務(wù)器地址","賬號名","賬號的密碼") //如果連接失敗,就用die()函數(shù)停止程序并輸出錯誤信息 $link = mysql_connect($db_host, $db_name, $db_password) or die(‘連接失敗‘); //關(guān)閉連接 mysql_close($link); ?>
連接之后,就可以用mysql_select_db()選擇數(shù)據(jù)庫,用mysql_query()向MySQL發(fā)送操作語句,然后用mysql_fetch_array()獲取查詢結(jié)果了。一個簡單的例子:如果數(shù)據(jù)庫中有一張users數(shù)據(jù)表,里面存放了用戶的各種資料,通過下面的例子取得并輸出lmws這位用戶的email:
<?php //連接數(shù)據(jù)庫 $link = mysql_connect($db_host, $db_name, $db_password) or die(‘連接失敗‘); //選擇數(shù)據(jù)庫 mysql_select_db(‘user_db‘); //定義SQL語句 $sql = "SELECT email FROM user_table WHERE user_id = ‘lmws‘;"; //發(fā)送查詢 $result = mysql_query($sql); //把結(jié)果抓取為$user_data數(shù)組 $user_data = mysql_fetch_array($result); //關(guān)閉連接 mysql_close($link); //輸出結(jié)果 echo $user_data[‘email‘]; ?>
這樣就可以將lmws這位用戶的email輸出。PHP就是把一條條的SQL語句送到數(shù)據(jù)庫中執(zhí)行的。
發(fā)送一次SELECT查詢所返回的結(jié)果不止一條,怎么對每一條結(jié)果實現(xiàn)處理(或輸出)呢?采用while循環(huán)語句。請看例子:
<?php //連接數(shù)據(jù)庫 $link = mysql_connect($db_host, $db_name, $db_password) or die(‘連接失敗‘); //選擇數(shù)據(jù)庫 mysql_select_db(‘user_db‘); //定義SQL語句 $sql = "SELECT id,email FROM user_table;"; //發(fā)送查詢 $result = mysql_query($sql); //用while循環(huán)語句處理 while ($user_data = mysql_fetch_array($result)) { echo "用戶 $user_data[‘id‘] 的Email地址是 $user_data[‘email‘] <br />" } //關(guān)閉連接 mysql_close($link); //輸出結(jié)果 echo $user_data[‘email‘]; ?>
以上就是用PHP操作MySQL的大致思路。只要利用好$sql變量里的語句,就可以產(chǎn)生不同的效果。
|