當前位置: 首頁> 函數類別大全> mysqli::execute_query

mysqli::execute_query

(mysqli_execute_query)準備,綁定參數並執行SQL語句
名稱:mysqli::execute_query
分類:mysqli
所屬語言:php
一句話介紹:查詢,作為字符串。它必須由單個SQL語句組成。準備、綁定參數和執行SQL語句

適用PHP版本(PHP 8 >= 8.2.0)


說明

面向對像風格

public mysqli::execute_query(string $query, ?array $params = null): mysqli_result|bool
過程化風格

mysqli_execute_query(mysqli $mysql, string $query, ?array $params = null): mysqli_result|bool
準備SQL查詢、綁定參數並執行查詢。 mysqli::execute_query()方法是mysqli::prepare()、mysqli_stmt::bind_param()、mysqli_stmt::execute()和mysqli_stmt::get_result()的快捷方式。

語句模板可以包含零個或多個問號(?)參數標記-也稱為佔位符。參數值必須使用params parameter作為數組提供。

預處理語句是在底層創建的,但絕不會在函數外部公開。不可能像訪問mysqli_stmt對像那樣訪問語句的屬性。由於這個限制,狀態信息被複製到mysqli對像中,並可以使用它的方法,例如mysqli_affected_rows()或mysqli_error()。

注意

如果傳遞給mysqli_execute_query()的語句比服務器的max_allowed_pa​​cket長,則返回的錯誤碼會根據操作系統的不同而不同。其行為如下:

在Linux上返回錯誤碼1153。錯誤消息意味著得到的數據包大於max_allowed_pa​​cket字節。

在Windows上返回錯誤代碼2006。此錯誤信息表示服務器已消失。

參數
mysql
僅以過程化樣式:由mysqli_connect() 或mysqli_init() 返回的mysqli 對象。

query
查詢,作為字符串。它必須由單個SQL語句組成。

SQL語句可以在適當位置包含零個或多個由問號(?)字符表示的參數標記。

注意:

這些標記僅在SQL語句中的某些地方是合法的。例如,在INSERT語句的VALUES()列表中允許使用它們(為一行指定列值),或者在與WHERE子句中的列進行比較時允許使用它們來指定比較值。但是,它們不允許用於標識符(如表或列名)。

params
一個可選的列表數組,其中的元素數量與正在執行的SQL語句中的綁定參數數量一樣多。每個值都被視為字符串。

同類函數
熱門文章