首頁 > 後端開發 > php教程 > PHP如何動態綁定MySQL參數?

PHP如何動態綁定MySQL參數?

Patricia Arquette
發布: 2024-12-01 19:11:14
原創
862 人瀏覽過

How Can I Dynamically Bind MySQL Parameters in PHP?

在PHP 中動態綁定MySQL 綁定參數

如您所發現的,PHP 的MySQLi 擴充中的bind_param 方法在動態處理多個參數或無參數查詢方面可能受到限制。以下是解決此問題的策略:

使用call_user_func_array

以下程式碼片段可讓您動態建立和綁定參數陣列:

if (strnatcmp(phpversion(), '5.3') >= 0) {
    $refs = array();
    foreach ($arr as $key => $value)
        $array_of_params[$key] = &$arr[$key];
    call_user_func_array(array(&$stmt, 'bind_params'), $array_of_params);
}
登入後複製

使用PHP 5.6語法

在PHP 5.6 及更高版本中,您可以利用解包運算子和get_result()

方法:
public function get_custom_result($sql, $types = null, $params = null) {
    $stmt = $this->mysqli->prepare($sql);
    $stmt->bind_param($types, ...$params);

    if (!$stmt->execute()) return false;
    return $stmt->get_result();
}
登入後複製

方法:

$mysqli = new database(DB_HOST, DB_USER, DB_PASS, DB_NAME);
$output = new search($mysqli);

$sql = "SELECT * FROM root_contacts_cfm WHERE root_contacts_cfm.cnt_id = ?
        AND root_contacts_cfm.cnt_firstname = ?
        ORDER BY cnt_id DESC";

$res = $output->get_custom_result($sql, 'ss', array('1', 'Tk'));
while ($row = res->fetch_assoc()) {
    echo $row['fieldName'] . '<br>';
}
登入後複製

>範例: 這些解決方案提供了更大的靈活性和MySQL 查詢的動態綁定功能。

以上是PHP如何動態綁定MySQL參數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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