這裡介紹php和mysql結合起來實用。
基本上,可以說php是介於後台數據庫和前台浏覽器的一個中間層,在他們之間傳遞命令。這種方式大大提高了交互的可能性,可以方便使用在投票系統,其他動態用戶輸入和個性化網站中。
要想實現這種交互,首先必需實現和mysql數據庫連接,可以使用這個命令實現:
語法:int mysql_connect(string hostname, string username, string password);
·hostname - 運行數據庫服務器所在的主機名稱。
·username - 連接到數據庫服務器的用戶名稱。
·Password - 用戶密碼。the password set to connect to the MySQL database.
如果連接成功,函數返回一個正整數,如果失敗返回一個負數。
所有的命令,和往常一樣,必需放置在"<?" 和 "?>"之間。
讓我們繼續我們的工程,讓我們假設用MySQL建立了以下的數據表:
----------------------------
mysql> CREATE TABLE information (
-> name VARCHAR (25),
-> email VARCHAR (25),
-> choice VARCHAR (8) );
----------------------------
現在讓我們假設我們要吧用戶的信息插入到這個數據庫中,我們可以通過修改email.php3腳本來實現,修改如下:
----------------------------
<?
/* 這個腳本將使用從moreinfo.html文件中傳遞過來的變量。 */
/* 聲明一些相關的變量 */
$hostname = "devshed";
$username = "myusername";
$password = "mypassword";
$dbName = "mydbname";
/* 使用MySQL建立的數據表存取信息 */
$userstable = "information";
/* 網站管理員的郵件地址*/
$adminaddress = "[email protected]";
/* 與數據庫連接*/
MYSQL_CONNECT($hostname,$username,$password) OR DIE("Unable to connect to database");
@mysql_select_db("$dbName") or die("Unable to select database");
PRINT "<CENTER>";
PRINT "Hello, $name.";
PRINT "<BR><BR>";
PRINT "Thank you for your interest.<BR><BR>";
PRINT "We will send information to $email, and have noted that you like $preference";
PRINT "</CENTER><BR><BR>";
/* 發送有關郵件*/
mail("$email", "Your request for information",
"$namenThank you for your interest!n
We sell fresh corn daily over the Internet!
Place your order at http://www.buycorn.com,
and receive a free package of $preference!");
mail("$adminaddress",
"Visitor request for info.",
"$name requested for information.n
The email address is $email. n The visitor prefers $preference.");
/* 將數據插入數據表中*/
$query = "INSERT INTO $userstable VALUES('$name','$email', '$preference')";
$result = MYSQL_QUERY($query);
PRINT "Your information has also been inserted into our database, for future reference.";
/* 關閉與數據庫的連接*/
MYSQL_CLOSE();
?>
----------------------------
一些注意的地方:
1、在腳本一開始聲明的變量是為了函數MYSQL_CONNECT() 。我們也可以直接在函數中將這些值給出,可是,考慮工程的可發展性,這些值應該放在一個獨立的文件中,用(#include)調入。
2、語法: int mysql_select_db(string database_name, int link_identifier);
·database_name 必需是在服務器上的數據庫名。
·link_identifier(可選的) 是指明連接,基於此向數據庫服務器發出請求。
·返回值為true/false
3、語法: int mysql_query(string query, int link_identifier);
·query 發送向mysql服務器的sql命令。
·link_identifier(可選擇) 指明連接,基於此向數據庫服務器發送sql命令。
·返回值為整數,正數表示成功了,負數表示失敗。
4、語法: int mysql_close(int link_identifier);
·link_indentifier 與上面相同
·返回值為整數,正數表示成功了,負數表示失敗。
在下一篇文章中,我將給大家講解如何從mysql中輸出數據。