在php中,5.5.0以上版本不支援mysql_query()函數,5.5.0以下版本支援。 mysql_query()函數自PHP 5.5.0起被廢棄,並在自PHP 7.0.0開始移除。
本教學操作環境:windows7系統、PHP7.1版,DELL G3電腦
PHP自5.5.0版開始不支援mysql_query()函數。
mysql_query()函數自PHP 5.5.0起被廢棄,並在自PHP 7.0.0開始移除。應使用 MySQLi 或 PDO_MySQL 擴充來替換之,以取代本函數的有:
mysqli_query()
PDO::query(##PDO::query()
PDO::query(# )
想要使用mysql_query()函數需要使用PHP 5.5.0以下的版本。
說明:mysql_query()mysql_query() — 傳送一封 MySQL 查詢。
語法:
mysql_query(string $query, resource $link_identifier = NULL): resource
參數
查詢字串不應以分號結束。查詢中被嵌入的資料應該正確地轉義。
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_fetch_array() 和其他函數來處理結果表,取出傳回的資料。
假定查詢成功,可以呼叫 mysql_num_rows() 來查看對應於 SELECT 語句傳回了多少行,或是呼叫 mysql_affected_rows() 來查看對應於 DELETE,INSERT,REPLACE 或 UPDATE 語句影響了多少行語句。
如果沒有權限存取查詢語句中引用的表時,mysql_query() 也會傳回 false。 範例:mysql_query()會回傳了一個 resource。
<?php // 这应该由用户提供,下面是一个示例 $firstname = 'fred'; $lastname = 'fox'; // 构造查询 // 这是执行 SQL 最好的方式 // 更多例子参见 mysql_real_escape_string() $query = sprintf("SELECT firstname, lastname, address, age FROM friends WHERE firstname='%s' AND lastname='%s'", mysql_real_escape_string($firstname), mysql_real_escape_string($lastname)); // 执行查询 $result = mysql_query($query); // 检查结果 // 下面显示了实际发送给 MySQL 的查询,以及出现的错误。这对调试很有帮助。 if (!$result) { $message = 'Invalid query: ' . mysql_error() . "\n"; $message .= 'Whole query: ' . $query; die($message); } // 结果的使用 // 尝试 print $result 并不会取出结果资源中的信息 // 所以必须至少使用其中一个 mysql 结果函数 // 参见 mysql_result(), mysql_fetch_array(), mysql_fetch_row() 等。 while ($row = mysql_fetch_assoc($result)) { echo $row['firstname']; echo $row['lastname']; echo $row['address']; echo $row['age']; } // 释放关联结果集的资源 // 在脚本结束的时候会自动进行 mysql_free_result($result); ?>
以上是php不支援mysql_query()嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!