本文目錄一覽:
- 1、PHP與Mysql的關係以及Mysql的常用函數介紹
- 2、怎樣用PHP中的MySQL操作函數
- 3、關於php操作mysql執行資料庫查詢的一些常用操作匯總
- 4、php連接mysql資料庫,用什麼函數?
- 5、php的常用函數都有哪些要必須熟記的?
PHP與Mysql的關係以及Mysql的常用函數介紹
mysql是種關係資料庫,php是
web開發語言,
php操作mysql最常用的函數也就那麼幾個
mysql_content
連接mysql數據
mysql_select_db
告訴mysql要操作的是哪個資料庫
mysql_query
執行的操作比如
select,insert,update,delete了,
mysql_fetch_array
讀取數據
附:
php操作mysql資料庫簡單示例
php
mysql函數一攬表
怎樣用PHP中的MySQL操作函數
1. 建立MySQL 連接:mysql_connect
resource mysql_connect([string $server[, string $username [, string $password [, bool $new_link [, int $client flags]]]]])
打開或重複使用一個到MySQL伺服器的連接。其中,server代表MySQL伺服器,可以包括埠號,例如「hostname:port」。username和password分別代表登錄MySQL伺服器使用的用戶名和密碼。
2. 選擇 MySQL 資料庫:mysql_select_db
bool mysql_select_db(string $database_name[, resource $link_identifier])
設定與指定的連接標識符所關聯的伺服器上的當前資料庫。如果沒有指定連接標識符,則使用上一個打開的連接。如果沒有打開的連接,本函數將無參數地調用mysql_connect()來嘗試打開一個資料庫連接。如果成功則返回true,失敗則返回false。每個其後的mysgl_query()調用都會作用於活動資料庫。
3. 執行查詢:mysql_query
resource mysql_query(string $query[, resource $link_identifier])
向與指定的連接標識的關聯的伺服器中的當前活動資料庫發送一條查詢。如果沒有指定 link_identifier,則使用上一個打開的連接。如果沒有打開的連接,本函數會嘗試無參數地調用mysql_connect()函數來建立一個連接,查詢結果會被緩存。mysql_query()僅對SELECT、SHOW、EXPLAIN或DESCRIBE語句返回一個資源標識符,如果查詢執行不正確則返回false。對於其他類型的SQL語句,mysgl_query()在執行成功時返回true,出錯時返回false。非false的返回值意味著查詢是合法的並能夠被伺服器執行但是並不說明任何影響到的或返回的行數。因為一條查詢執行成功了但並未影響到或並未返回任何行的情況是可能發生的。
4. 從結果集中取得一行作為枚舉數組:mysql_fetch_row
array mysql_fetch_row(resource $result)
從和指定的結果標識關聯的結果集中取得一行數據並作為數組返回。每個結果的列儲存在一個索引數組的單元中,偏移量從0開始。依次調用mysql_fetch_row()將返回結果集中的下一行,如果沒有更多行則返回false。
5. 從結果集中取得一行作為關聯數組,或數字數組,或二者兼有:mysql_fetch_array
array mysql_fetch_array(resource $result[, int $result_type])
mysql_fetch_row()的擴展版本。除了將數據以數字索引方式儲存在數組中之外,還可以將數據作為關聯索引儲存,用欄位名作為鍵名。如果結果中出現欄位名重名的現象,最後一列將優先。要訪問同名的其他列,必須用該列的數字索引或給該列起個別名。對有別名的列,用別名來訪問其內容。
6. 關閉 MySQL 連接:mysql_close
bool mysql_close([resource $link_identifier])
mysql_close()關閉指定的連接標識所關聯的到MySQL伺服器的非持久連接。如果沒有指定link_identifier,則關閉上一個打開的連接。
例PHP中使用MySQL資料庫(mysql.php)
?php//連接MySQL資料庫
mysql_connect(‘localhost’, ‘root’, ‘123’);
//選擇當前資料庫
//等效為執行USE test
mysql_select_db(‘test’);
//在當前資料庫執行SQL語句
$query = “SELECT * FROM students”;
$result = mysql_query($query);
//操作上次查詢返回的結果集,注意$result變數一般是需要的
while($student = mysql_fetch_array($result)) {
echo ‘pre’;
print_r($student);
echo ‘/pre’;
}
?
關於php操作mysql執行資料庫查詢的一些常用操作匯總
php操作mysql步驟:
1.$connect=mysql_connect(‘localhost’,’root’,’123456′)
or
die(‘資料庫連接失敗。’mysql_error());鏈接mysql。
2.mysql_select_db(‘database’,$connect)選擇鏈接的資料庫。
3.mysql_query(‘Set
names
gb2312′);$sql
=
“select
*
from
blog_article”;準備要查詢的數據。
4.$datas
=
mysql_query($sql);執行sql查詢。
5.$data
=
mysql_fetch_assoc($datas)得到查詢到的緩存在內存中的一條數據。
6.print_r($data);
相同點:三個函數都是返回資料庫中查詢到的一行數據(說的再清楚點就是一條數據)。
不同點:mysql_fetch_assoc()用的是資料庫中相應的欄位名作為的key值(也就是數組下標)
如:filed[‘id’]=1;
mysql_fetch_row()用的是自動生成的數字(從0開始依次生成)作為的key值(也就是數組下標)
如:filed[0]=1;
mysql_fetch_array()用的是自動生成的數字(從0開始依次生成)作為的key值(也就是數組下標),而且它還同時生成資料庫中相應的欄位名作為的key值(也就是數組下標)
如:
filed[0]=1,filed[‘id’]=1;也就是說,mysql_fetch_array()將mysql_fetch_assoc()和mysql_fetch_row()查詢到的結果合為了一體了。
mysql_fetch_object()與mysql_fetch_assoc()差不多。只是mysql_fetch_assoc()返回的是數組。mysql_fetch_object()返回的是object對象。
mysql_insert_id() 取得上一步
INSERT
操作產生的
ID。
mysql_result()
函數返回結果集中一個欄位的值。
mysql_num_fields()
函數返回結果集中欄位的數目。
mysql_affected_rows();返回前一次
MySQL
操作所影響的記錄行數。
mysql_num_rows(mysql_query($sql))獲得結果集中行的數目。
mysql_pconnect()
函數打開一個到
MySQL
伺服器的持久連接。
mysql_pconnect()
和
mysql_connect()
非常相似,但有兩個主要區別:
1.
當連接的時候本函數將先嘗試尋找一個在同一個主機上用同樣的用戶名和密碼已經打開的(持久)連接,如果找到,則返回此連接標識而不打開新連接。
2.
其次,當腳本執行完畢後到
SQL
伺服器的連接不會被關閉,此連接將保持打開以備以後使用(mysql_close()
不會關閉由
mysql_pconnect()
建立的連接)。
mysql_data_seek(mysql_query($sql),8);獲得結果集中的第8條數據。(mysql_num_rows(mysql_query($sql))和mysql_data_seek(mysql_query($sql),8)在mysql_unbuffered_query($sql)不可以使用。)
mysql_unbuffered_query($sql)和mysql_query($sql)效果差不多,但是
mysql_unbuffered_query($sql)不緩存。mysql_query($sql)會緩存查詢的結果。
mysql_close();關閉mysql的最近的鏈接。
mysql_field_flags(mysql_query($sql),6)返回第六個欄位的表屬性輸出如:not_null
primary_key
auto_increment
。
mysql_fetch_lengths(mysql_query($sql))返回該條數據的所有欄位的每個欄位的長度。返回的是一個數字組成的數組。
mysql_field_name(mysql_query($sql),3)返回第三個欄位的欄位名。
mysql_field_table(mysql_query($sql),0)返回指定欄位所在的表名。
mysql_free_result(mysql_query($sql))
函數釋放結果內存。
mysql_get_client_info()
函數返回
MySQL
客戶端信息。
mysql_get_host_info()
取得
MySQL
主機信息。
php連接mysql資料庫,用什麼函數?
第一個問題:的1是把mysql的鏈接函數做了封裝,即封裝成類了,而2是直接使用mysql提示的內置函數鏈接資料庫,原則上用1更好一點,提供了對象,日後也方便修改移值。
第二個問題:原因是你沒有把mysql類放道對應目錄里,所以你實例化時,他就報錯,說找不到這個類。
php的常用函數都有哪些要必須熟記的?
首先是資料庫方面的函數,例如:mysql_connect,mysql_create_db,mysql_fetch_array,mysql_select_db,mysql_query,資料庫的函數眾多,最好寫成一個類,可以參考discuz,phpcms等,如果是php5,可以使用PDO php的數組很強大,很多地方要用到最好把關於數組的循環,分割,刪除等記住,例如:is_array,implode,explode,array_keys,array_merge等 還有就是記牢一些安全性的函數例如:addslashes,htmlspecialchars等 其他還有字元處理:subtr,strlen,trim等 初學者要盡量使用專業的編輯器,例如:UE,editplus等,有利於拼寫和記憶函數,少用IDE工具,例如zendstudio等,這些雖然方便,但是不利於記憶函數,加入沒有了IDE的情況下,就成了盲人了,雖有思路,但寫不出代碼來。
原創文章,作者:PASB,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/131107.html