標籤:
[php]
- <span style="font-family:Arial,Helvetica,sans-serif">在php操作資料庫過,會頻繁對資料庫進行各種操作,所以,php提供函數介面,很好的支援了對各種資料庫的支援,包括MySql資料庫。 php函數介面,事實上是對sql語句的分裝</span>
1.資料庫的串連要使用資料庫,首先需要串連資料庫,連結命令為
[php]
- mysql_connect(servername, user, password);
servername 為伺服器名,可選項,預設為 localhost:3306;user 是使用者名稱,可選,預設擁有伺服器處理序的使用者名稱;pasword 規定登入所用的密碼,可選,預設是"";
[php]
- <?php
- $con=mysql("localhost","root","password");
- if($con)
- {
- die("couldn‘t connect!");
- }
- //使用結束後,關閉連結
- mysql_close($con);
- ?>
另外可以用mysql_pconnect([host][:port][user][password]),此函數與mysql_connect函數功能基本相同,區別在於:
1. 當資料庫操作結束後,由mysql_connect函數建立的串連將自動關閉, 而mysql_pconnect函數建立的串連將繼續存在,是一種穩固持久的串連。
2. 使用mysql_pconnect函數進行串連時,每次串連前,都會檢查是否有使用同樣的hostname、user和password的串連,如果有,則直接使用這個串連號。
3. 函數mysql_connect建立的串連可以用mysql_close函數關閉,而mysql_pconnect 函數建立的串連則不能用mysql_close函數來關閉。
2.向mysql傳送查詢/命令mysql_query(query,connection) 用於向mysql傳遞查詢或命令 connection 可選,如果為空白,則試圖建立一個參數為空白的連結。假定查詢成功,可以調用 mysql_num_rows() 來查看對應於 SELECT 語句返回了多少行,或者調用 mysql_affected_rows() 來查看對應於 DELETE,INSERT,REPLACE 或 UPDATE 語句影響到了多少行。僅對 SELECT,SHOW,DESCRIBE 或 EXPLAIN 語句 mysql_query() 才會返回一個新的結果標識符,可以將其傳遞給 mysql_fetch_array() 和其它處理結果表的函數。處理完結果集後可以通過調用 mysql_free_result() 來釋放與之關聯的資源,儘管指令碼執行完畢後會自動釋放記憶體,執行不正確則返回false。對其他執行返回true,不執行返回false。
3.選擇資料庫
4.返回結果處理函數1)mysql_num_rows() (查詢結果指標) 返回查詢結果集中行的數目。2)mysql_affected_rows() 返回一次mysql操作對資料庫影響的記錄行數 (用於update、delete、insert、replace)3)mysql_num_fields() (查詢結果指標)返回查詢結果集中欄位的數目。5.遍曆查詢記錄集mysql_fetch_array()、mysql_fetch_row、mysql_fetch_assoc區別:三者都可以從結果集中提取一行記錄返回。mysql_fetch_array()提取的結果既可以通過索引訪問,也可以通過關鍵字訪問;而mysql_fetch_row提取的結果只能通過索引訪問、mysql_fetch_assoc提取的結果只能通過關鍵字訪問。6.錯誤處理函數1)mysql_errno(字樣標示符) 返回上一個mysql操作中的錯誤資訊數字編碼2)mysql_error() 返回上一個mysql操作的文本錯誤資訊。
7.web資料庫原理瀏覽器<---->伺服器<------>PHP引擎<------->mysql資料庫過程如下:1)使用者通過瀏覽器向伺服器放鬆一個http請求,請求一個web檔案;2)伺服器接收到web請求,擷取該檔案,並把該web檔案傳送給php引擎;3)php開始解析指令碼,其中有一條SQL查詢,包含連結資料庫的命令和查詢語句,php開啟通向mysql的串連,並發送查詢;4)資料庫接受查詢並處理,把查詢的結果傳遞給php引擎;5)php引擎接受結果,完成指令碼,輸出html;6)伺服器把html格式檔案發送給瀏覽器。
從php向mysql查詢過程中,php的mysql_query()函數只啟傳遞的作用,而不是主要的存取指令操作。php並不是mysql的內建操作,操作資料庫只有用SQL指令。mysql_query()可以傳遞各種sql文法。
php操作mysql資料庫