首頁 > 後端開發 > php教程 > 在 PHP 中處理空值時如何使用「bind_param()」動態綁定參數?

在 PHP 中處理空值時如何使用「bind_param()」動態綁定參數?

Linda Hamilton
發布: 2024-10-30 09:17:02
原創
730 人瀏覽過

How to Dynamically Bind Parameters with `bind_param()` When Handling Empty Values in PHP?

使用bind_param()進行動態變數綁定

當使用bind_param()的可變數量的輸入變數時,處理空值可以是挑戰。由於 $_POST 值為空,嘗試在佔位字串中使用“...”可能不可行。

此問題的解決方案是使用call_user_func_array() 將可變數量的參數傳遞給bind_param () 方法:

<code class="php">$parameterNames = array('myvar1', 'myvar2', /* ... */);
$parameters = array();
foreach ($parameterNames as $name) {
    if (isset($_POST[$name]) && $_POST[$name] != '') {
        $parameters[$name] = $_POST[$name];
    }
}

if (count($parameters)) {
    $query = 'UPDATE mytable SET ';
    foreach ($parameters as $name => $value) {
        $query .= $name.'=?,';
    }
    $query = substr($query, 0, -1); // Remove trailing comma
    $query .= 'WHERE id = ?';

    $statement = $mysqli->prepare($query);
    $typeString = str_repeat('s', count($parameters));
    $parameters = array_merge(array($typeString), array_values($parameters));
    call_user_func_array(array($statement, 'bind_param'), $parameters);
}</code>
登入後複製

此方法可讓您根據可用的$_POST 值動態產生SQL 查詢,確保更新語句中僅包含非空值。

以上是在 PHP 中處理空值時如何使用「bind_param()」動態綁定參數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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