一個簡單的自動發送郵件系統(三)
這裡介紹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 "
Nobody in the database prefers Apples!
";
ELSEIF ($number > 0) :
PRINT "
Users preferring Apples: $number
";
WHILE ($i < $number):
$name = mysql_result($result,$i,"name");
$email = mysql_result($result,$i,"email");
PRINT "Visitor $name likes Apples.
";
PRINT "Email address: $email.";
PRINT "
";
$i++;
ENDWHILE;
PRINT "
";
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迴圈,我們就能很容易的將資料輸出給瀏覽器。