定義和用法
mysqli_stmt_bind_param - 將變數系結到準備好的陳述句作為引數版本支持
| PHP4 | PHP5 | PHP7 |
|---|---|---|
| 不支持 | 支持 | 支持 |
語法
mysqli_stmt_bind_param ( mysqli_stmt $stmt , string $types , mixed &$var1 [, mixed &$... ] )
在傳遞給 mysqli_prepare() 的SQL陳述句中為引數標記系結變數,
注意: 如果變數的資料大小超過最大值, 如果允許資料包大小(max_allowed_packet),則必須在型別中指定b并使用mysqli_stmt_send_long_data()以資料包形式發送資料,
注意: 將mysqli_stmt_bind_param()與call_user_func_array()結合使用時必須小心,請注意,mysqli_stmt_bind_param()要求引數通過參考傳遞,而call_user_func_array()可以接受可以表示參考或值的變數串列作為引數,
引數
| 引數 | 必需的 | 描述 |
|---|---|---|
| stmt | 是 | 由 mysqli_stmt_init() 回傳的 statement 標識, |
| types | 是 | 一個包含一個或多個字符的字串,這些字符指定相應系結變數的型別:
|
| var1 | 是 | 變數的數量和字串型別的長度必須與陳述句中的引數匹配, |
| ... | 否,取決types,是否有變數需要系結 | 更多變數 |
回傳值
成功時回傳 TRUE, 或者在失敗時回傳 FALSE,示例
<?php
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'world');
/* check connection */
if (!$link) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$stmt = mysqli_prepare($link, "INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
mysqli_stmt_bind_param($stmt, 'sssd', $code, $language, $official, $percent);
$code = 'DEU';
$language = 'Bavarian';
$official = "F";
$percent = 11.2;
/* execute prepared statement */
mysqli_stmt_execute($stmt);
printf("%d Row inserted.\n", mysqli_stmt_affected_rows($stmt));
/* close statement and connection */
mysqli_stmt_close($stmt);
/* Clean up table CountryLanguage */
mysqli_query($link, "DELETE FROM CountryLanguage WHERE Language='Bavarian'");
printf("%d Row deleted.\n", mysqli_affected_rows($link));
/* close connection */
mysqli_close($link);
相關函式
mysqli_stmt_bind_result() - 將變數系結到準備好的陳述句以存盤結果 mysqli_stmt_execute() - 執行準備好的查詢 mysqli_stmt_fetch() - 從準備好的陳述句中獲取結果到系結變數中 mysqli_prepare() - 準備執行一個SQL陳述句 mysqli_stmt_send_long_data() - 分塊發送資料 mysqli_stmt_errno() - 回傳最近的陳述句呼叫的錯誤代碼 mysqli_stmt_error() - 回傳最后一條陳述句錯誤的字串描述
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/96377.html
標籤:PHP
下一篇:php基礎知識總結
