mysqli::execute_query
(mysqli_execute_query)準備,綁定參數並執行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()的快捷方式。注意
如果傳遞給mysqli_execute_query()的語句比服務器的max_allowed_packet長,則返回的錯誤碼會根據操作系統的不同而不同。其行為如下:
在Linux上返回錯誤碼1153。錯誤消息意味著得到的數據包大於max_allowed_packet字節。
在Windows上返回錯誤代碼2006。此錯誤信息表示服務器已消失。
參數
mysql
僅以過程化樣式:由mysqli_connect() 或mysqli_init() 返回的mysqli 對象。
query
查詢,作為字符串。它必須由單個SQL語句組成。
SQL語句可以在適當位置包含零個或多個由問號(?)字符表示的參數標記。
注意:
這些標記僅在SQL語句中的某些地方是合法的。例如,在INSERT語句的VALUES()列表中允許使用它們(為一行指定列值),或者在與WHERE子句中的列進行比較時允許使用它們來指定比較值。但是,它們不允許用於標識符(如表或列名)。
params
一個可選的列表數組,其中的元素數量與正在執行的SQL語句中的綁定參數數量一樣多。每個值都被視為字符串。