頭檔案
#include <mysql.h>
lib庫
libmysql.lib 和libmysql.dll
函式表示形式
mysql_query
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() 例子
<php$result = mysql_query("SELECT * WHERE 1=1")or die("Invalid query: " . mysql_error());?>
以下查詢當 my_col 並不是表 my_tbl 中的列時語義上有錯,因此 mysql_query() 失敗並返回 FALSE:
例子 2. mysql_query()
<?php$result = mysql_query("SELECT my_col FROM my_tbl")or die("Invalid 催備槓迎query: " . mysql_error());?>
如果沒有許可權訪問查詢語句中引用的表時,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()類似。
<?php$link=mysql_pconnect("localhost","sunsoft","suixiang")or die("Could not connect");print("Connected successfully");$query="SELECT * FROM president";$result=mysql_db_query("samp_db",$query) or die("Query failed");?>