mysql操作數據庫代碼:
$link = @mysql_connect('localhost:3306', 'root', 'root') or die(mysql_error());
mysql_select_db('12306', $link) or die ('Can\'t use foo : ' . mysql_error());
$sql = "select `true_name`, `username` from `12306` limit 1";
$rs = mysql_query($sql, $link);
if (!$rs) {die('Invalid query: ' . mysql_error());
}
while($row = mysql_fetch_array($rs, MYSQL_ASSOC))
{print_r($row);
}
mysql_free_result($link);
mysql_close($link);
exit;
mysql_num_rows()?返回結果集中行的數目。此命令僅對 SELECT 語句有效。要取得被 INSERT,UPDATE 或者 DELETE 查詢所影響到的行的數目,用?mysql_affected_rows()。
?
一:mysql操作函數
resource?mysql_connect?([?string?$server
?[,?string?$username
?[,?string?$password
?[,?bool$new_link
?[,?int?$client_flags
?]]]]] ):
php入門開發實戰?注意:
1:腳本一結束,到服務器的連接就被關閉,除非之前已經明確調用?mysql_close()?關閉了。
2:可以在函數名前加上一個?@?來抑制出錯時的錯誤信息。
?
resource?mysql_pconnect?([?string?$server
?[,?string?$username
?[,?string?$password
?[,?int$client_flags
?]]]] )
mysql workbench?注意:
此種連接僅能用于模塊版本的 PHP。
mysql_pconnect()?和?mysql_connect()?非常相似,但有兩個主要區別。
首先,當連接的時候本函數將先嘗試尋找一個在同一個主機上用同樣的用戶名和密碼已經打開的(持久)連接,如果找到,則返回此連接標識而不打開新連接。
其次,當腳本執行完畢后到 SQL 服務器的連接不會被關閉,此連接將保持打開以備以后使用(mysql_close()?不會關閉由?mysql_pconnect()?建立的連接)。
?
mysql_select_db?(?string?$database_name
?[,?resource?$ link_identifier?
]
成功時返回?TRUE
, 或者在失敗時返回?FALSE
。
mysql_select_db()?設定與指定的連接標識符所關聯的服務器上的當前激活數據庫。如果沒有指定連接標識符,則使用上一個打開的連接。如果沒有打開的連接,本函數將無參數調用?mysql_connect()?來嘗試打開一個并使用之。
每個其后的?mysql_query()?調用都會作用于活動數據庫。
?
resource?mysql_query?(?string?$query
?[,?resource?$link_identifier
?= NULL?] )
link_identifier
MySQL 連接。如不指定連接標識,則使用由?mysql_connect()?最近打開的連接。如果沒有找到該連接,會嘗試不帶參數調用?mysql_connect()?來創建。如沒有找到連接或無法建立連接,則會生成?E_WARNING
?級別的錯誤。
mysql_query()?僅對 SELECT,SHOW,DESCRIBE, EXPLAIN 和其他語句 語句返回一個?resource,如果查詢出現錯誤則返回?FALSE
。
對于其它類型的 SQL 語句,比如INSERT, UPDATE, DELETE, DROP 之類,?mysql_query()?在執行成功時返回?TRUE
,出錯時返回?FALSE
。
?
假定查詢成功,可以調用?mysql_num_rows()?來查看對應于 SELECT 語句返回了多少行,或者調用mysql_affected_rows()?來查看對應于 DELETE,INSERT,REPLACE 或 UPDATE 語句影響到了多少行。
如果沒有權限訪問查詢語句中引用的表時,mysql_query()?也會返回?FALSE
。
?
int?mysql_affected_rows?([?resource?$link_identifier
?= NULL?] )
取得前一次 MySQL 操作所影響的記錄行數
int?mysql_insert_id?([?resource?$link_identifier
?] )
取得上一步 INSERT 操作產生的 ID
bool?mysql_ping?([?resource?$ link_identifier?
] )
Ping 一個服務器連接,如果沒有連接則重新連接
?
int?mysql_thread_id?([?resource?$link_identifier
?] )
返回當前線程的 ID
<?php
$link?=?mysql_connect('localhost',?'mysql_user',?'mysql_password');
$thread_id?=?mysql_thread_id($link);
if?($thread_id){
????printf?("current?thread?id?is?%d\n",?$thread_id);
}
?>
resource?mysql_list_processes?([?resource?$link_identifier
?] )
列出 MySQL 進程
?
mysql_unbuffered_query?—?向 MySQL 發送一條 SQL 查詢,并不獲取和緩存結果的行
mysql_unbuffered_query()?的好處是有代價的:在?mysql_unbuffered_query()?返回的結果集之上不能使用mysql_num_rows()?和?mysql_data_seek()。
此外在向 MySQL 發送一條新的 SQL 查詢之前,必須提取掉所有未緩存的 SQL 查詢所產生的結果行。
php從入門到精通第5版??