頭檔案
#include
lib庫
libmysql.lib 和libmysql.dll
函式表示形式
mysql_query
(PHP 3, PHP4, PHP 5 )
mysql_query -- 傳送一條 MySQL 查詢。
說明
resource mysql_query ( string query [, resource link_identifier])
mysql_query() 向與指定的連線標識符關聯的伺服器中的當前活動資料庫傳送一條查詢,如果沒有指定 link_identifier,則使用上一個打開的連線。如果沒有打開的連線,本函式會嘗試無參數調用 mysql_connect() 函式來建立一個連線並使用之。查詢結果會被快取。
注意事項
查詢字元串不應以分號結束。
mysql_query() 僅對 SELECT,SHOW,EXPLAIN 或 DESCRIBE 語句返回一個資源標識符,如果查詢執行不正確則返回 FALSE。對於其它類型的 SQL 語句,mysql_query() 在執行成功時返回 TRUE,出錯時返回 FALSE。非 FALSE 的返回值意味著查詢是合法的並能夠被伺服器執行。這並不說明任何有關影響到的或返回的行數。 很有可能一條查詢執行成功了但並未影響到或並未返回任何行。
以下查詢語法上有錯,因此 mysql_query() 失敗並返回 FALSE:
例子 1. mysql_query() 例子
以下查詢當 my_col 並不是表 my_tbl 中的列時語義上有錯,因此 mysql_query() 失敗並返回 FALSE:
例子 2. mysql_query()
如果沒有許可權訪問查詢語句中引用的表時,mysql_query() 也會返回 FALSE。
假定查詢成功,可以調用 mysql_num_rows() 來查看對應於 SELECT 語句返回了多少行,或者調用 mysql_affected_rows() 來查看對應於 DELETE,INSERT,REPLACE 或 UPDATE 語句影響到了多少行。
僅對 SELECT,SHOW,DESCRIBE 或 EXPLAIN 語句 mysql_query() 才會返回一個新的結果標識符,可以將其傳遞給 mysql_fetch_array() 和其它處理結果表的函式。處理完結果集後可以通過調用 mysql_free_result() 來釋放與之關聯的資源,儘管腳本執行完畢後會自動釋放記憶體。
例3
mysql_db_query()除了提取一個額外的資料庫名稱參數,並在執行查詢之前使它成為預設的資料庫為,與mysql_query()類似。