Your PHP skills tool showed me were I needed to improve and how to do it! 您的PHP技能的工具,表明我是我需要改進,如何做到這一點!”
湯姆

數據庫編程

當PHP帶數據庫,如MySQL,它允許更多的用戶交互發生。 參觀訪問像論壇和其他功能的組件可以添加到網站的數據可以保存。

什麼是數據庫?

在這方面的數據庫是一個關係型數據庫,該數據庫表,這是關係到一個何瑞明鍵,使用戶行可以有多個電子郵件行有關。

數據庫可以查詢使用SQL,這是一種語言,輕鬆地添加,更新和選擇數據。 但是SQL還允許你改變了數據庫的結構發生。

PHP和MySQL

當然,PHP可以處理如微軟SQL Server和Oracle,以及許多其他的數據庫引擎。

其他數據庫服務器的功能名稱,除與第一部分不同的是非常類似的用於SQL Server,所以MYSQL_CONNECTmssql_connect。 為了連接到一個數據庫,你首先需要連接到數據庫中,要做到這一點,如下圖所示,您使用 mysql_connect。

link = mysql_connect ( ' localhost ' , ' username ' , ' password ' ) ; $鏈接= MYSQL_CONNECT('localhost' ,'用戶','密碼');

上述變量的本地主機是位於mysql數據庫服務器。 意味著它位於本地計算機上的本地主機,所以在同一台機器作為腳本執行,但是這也同樣是一個遠程服務器,並可以通過服務器名稱或IP地址表示。

變量的用戶名密碼是MySQL數據庫服務器的用戶名和密碼。 所有這些細節將初步建立由你,當你安裝MySQL或將您的網頁主機給你,如果你有安裝MySQL。 如果沒有成功連接到數據庫mysql_connect函數將返回一個錯誤,所以的faliure可以像這樣檢測。

link = mysql_connect ( ' localhost ' , ' username ' , ' password ' ) ; $鏈接= MYSQL_CONNECT('localhost' ,'用戶','密碼');
$ link ) 鏈接
{
' Unable to connect to database : ' . mysql_error ( ) ) ;(“無法連接到數據庫”。mysql_error());
}

模具功能在此時停止執行,並輸出一個致命的錯誤。 通常不會有太多點繼續執行,因為大多數腳本將依靠連接到數據庫上,但是這並不總是如此。 的mysql_error返回的最後一個錯誤,作為一個字符串,它提供進一步的細節,到什麼地方出了錯這個功能是非常有用的調試錯誤和數據庫函數失敗時,應始終使用數據庫發生。

則mysql_close允許您關閉到數據庫的連接,從腳本內,但通常這是不neccarry作為連接將被關閉PHP,反正在腳本的末尾。

$ link ) ;mysql_close($鏈接);
在你執行一個SQL查詢之前,你需要選擇你想做到這一點,你用這將確保當前打開的連接將使用實例數據庫,以便通過 mysql_select_db函數執行查詢的MySQL數據庫。
mysql_select_db ( ' phprocks ' ) ) 如果(mysql_select_db!(“phprocks))
{
" Can ' t select phprocks database ! The error occured : " . mysql_error ( ) ) ;“('T選擇phprocks數據庫發生錯誤:”。mysql_error());
}
像以前如果發生錯誤,一個錯誤的返回的功能,允許誤差與上述處理。 查詢可以執行mysql_query函數允許你運行SQL查詢作為字符串。
query = " SELECT * FROM Users " ; $查詢=“SELECT * FROM用戶”;
result = mysql_query ( $ query ) ; $結果= mysql_query($查詢);
$ result ) 結果
{
" An error occured while running the query : ' " . $ query . " ' , the error is : " . mysql_error ( ) ) ; (“運行查詢時出現錯誤:”。查詢“,錯誤的是:”mysql_error());
}

同樣,這將返回false,如果出現錯誤允許誤差為上述抓獲。 否則,mysql_query函數將返回一個結果集,其中包含所有的查詢結果。

有幾個選項在處理這個數據,你可以返回數組作為關聯數組與註冊如果函數返回與mysql_fetch_row函數作為一個行或返回它作為一個與mysql_fetch_object功能的對象。

返回所有三個功能幾乎一模一樣的任務,但略有不同格式的數據可以看出。

query = " SELECT name , age FROM Users " ; $查詢=“SELECT姓名年齡從用戶”;
result = mysql_query ( $ query ) ; $結果= mysql_query($查詢);

$ row = mysql_fetch_assoc ( $ result ) ) ($=註冊如果($))
{
$ row [ " name " ] ; 迴聲 $[“名稱”];
$ row [ " age " ] ; 迴聲 $[“時代”];
}

正如你可以看到你的註冊如果函數訪問的行的列值作為關聯數組的鍵的查詢中的列名通過。

query = " SELECT name , age FROM Users " ; $查詢=“SELECT姓名年齡從用戶”;
result = mysql_query ( $ query ) ; $結果= mysql_query($查詢);

$ row = mysql_fetch_row ( $ result ) ) ($= mysql_fetch_row($))
{
$ row [ 0 ] ; 迴聲 $[0];
$ row [ 1 ] ; 迴聲 $[1];
}

使用 mysql_fetch_row功能您訪問的行的列值通過列的索引位置,以便在查詢中的第一列是由指數等指數0,第二個訪問

query = " SELECT name , age FROM Users " ; $查詢=“SELECT姓名年齡從用戶”;
result = mysql_query ( $ query ) ; $結果= mysql_query($查詢);

$ user = mysql_fetch_object ( $ result ) ) ($ USER = mysql_fetch_object($))
{
$ user - > name ; 迴聲 $用戶- >名稱;
$ user - > age ; 迴聲 $用戶- >年齡;
}

當使用mysql_fetch_object功能的訪問返回的對象的屬性,您訪問的行的列值,每列的名稱是一個屬性的名稱。


已提供任何意見。
安全形象
書面由多米尼克·斯金納
最後更新:2011年10月25日十六點00分38秒