一個簡單的自動發送郵件系統(三)
這裡介紹php和mysql結合起來實用。如何從mysql數據庫中提取數據。
好,我們已經成功的完成了我們的要求,很多的數據已經存在了數據庫中,現在的問題是,如何查詢這些數據,得到有用的結果呢?
在下面的程序中,我們將選擇"apple"的用戶輸出。
--------------------------------------------------------
<?
/* 聲明一些必須的變量*/
$hostname = "yourhostname";
$username = "yourusername";
$password = "yourpassword";
$userstable = "information"; /* 使用MySQL建立的數據表存取信息 */
$dbName = "yourdbname";
/* 與數據庫連接*/
MYSQL_CONNECT($hostname, $username, $password) OR DIE("Unable to connect to database");
@mysql_select_db( "$dbName") or die( "Unable to select database");
/* 選擇所有“apple”用戶*/
$query = "SELECT * FROM $userstable WHERE (preference LIKE 'Apples') ";
$result = MYSQL_QUERY($query);
/* 統計有多少這樣的用戶*/
$number = MYSQL_NUMROWS($result);
/* 輸出結果*/
$i = 0;
IF ($number == 0) :
PRINT "<CENTER><P>Nobody in the database prefers Apples!</CENTER>";
ELSEIF ($number > 0) :
PRINT "<CENTER><P>Users preferring Apples: $number<BR><BR>";
WHILE ($i < $number):
$name = mysql_result($result,$i,"name");
$email = mysql_result($result,$i,"email");
PRINT "Visitor $name likes Apples.<BR>";
PRINT "Email address: $email.";
PRINT "<BR><BR>";
$i++;
ENDWHILE;
PRINT "</CENTER>";
ENDIF;
?>
--------------------------------------------------------
將他存為apples.php3
解釋說明:一些新用到的函數:
1、$number = MYSQL_NUMROWS($result);
語法:int mysql_num_rows(string result);
·result 從函數mysql_query中返回的數組記錄。
·返回存在$result中的行數。
2、$name = MYSQL_RESULT($result,$i,"name");
語法: int mysql_result(int result, int i, column);
這個函數將分離記錄,將每一條賦值給變量。
·$result是指中的數組結果。
·$i是指數據的行。
·column是指mysql數據表中列的名字。也可以使用變量。
因此使用一個簡單的while循環,我們就能很容易的將數據輸出給浏覽器。