首頁 > 後端開發 > PHP問題 > php不支援mysql_query()嗎

php不支援mysql_query()嗎

青灯夜游
發布: 2023-03-13 07:02:02
原創
2118 人瀏覽過

在php中,5.5.0以上版本不支援mysql_query()函數,5.5.0以下版本支援。 mysql_query()函數自PHP 5.5.0起被廢棄,並在自PHP 7.0.0開始移除。

php不支援mysql_query()嗎

本教學操作環境: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
登入後複製
    mysql_query() 傳送一封查詢給與指定的 link_identifier 關聯的伺服器中的目前活動資料庫(不支援多個查詢)。
  • 參數

  • query:SQL 查詢語句
  • 查詢字串不應以分號結束。查詢中被嵌入的資料應該正確地轉義。

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 = &#39;fred&#39;;
$lastname  = &#39;fox&#39;;

// 构造查询
// 这是执行 SQL 最好的方式
// 更多例子参见 mysql_real_escape_string()
$query = sprintf("SELECT firstname, lastname, address, age FROM friends 
    WHERE firstname=&#39;%s&#39; AND lastname=&#39;%s&#39;",
    mysql_real_escape_string($firstname),
    mysql_real_escape_string($lastname));

// 执行查询
$result = mysql_query($query);

// 检查结果
// 下面显示了实际发送给 MySQL 的查询,以及出现的错误。这对调试很有帮助。
if (!$result) {
    $message  = &#39;Invalid query: &#39; . mysql_error() . "\n";
    $message .= &#39;Whole query: &#39; . $query;
    die($message);
}

// 结果的使用
// 尝试 print $result 并不会取出结果资源中的信息
// 所以必须至少使用其中一个 mysql 结果函数
// 参见 mysql_result(), mysql_fetch_array(), mysql_fetch_row() 等。
while ($row = mysql_fetch_assoc($result)) {
    echo $row[&#39;firstname&#39;];
    echo $row[&#39;lastname&#39;];
    echo $row[&#39;address&#39;];
    echo $row[&#39;age&#39;];
}

// 释放关联结果集的资源
// 在脚本结束的时候会自动进行
mysql_free_result($result);
?>
登入後複製
###推薦學習:《###PHP影片教學###》###

以上是php不支援mysql_query()嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板