我試圖簡單地用動態變量更新一個表,我卡住了,我已經閱讀和搜索如何做動態綁定,並發現我需要使用call_user_func_array()
但我試圖使用它如下,它仍然不起作用,有人可以告訴我如何使用它?call_user_func_array()用法mysqli
$a = array('ssi');
$b = array($_POST['h'], $_POST['m'], 2);
$params = array_merge($a, $b);
$stmt = $db->prepare("UPDATE `test` set field_1 = ?, field_2 = ? where id = ?");
call_user_func_array(array(&$stmt, 'bind_param'), $params);
$stmt->execute();
我提示以下錯誤:
Warning: Parameter 2 to mysqli_stmt::bind_param() expected to be a reference, value given
有人可以幫我嗎?我看過其他類似的問題,但仍然停滯不前。
'的var_dump($語句);'PS:你爲什麼把'&''在$ stmt'的面前? – zerkms 2014-10-06 22:57:32
你在調用call_user_func_array()中的參數嗎? http://php.net/manual/en/function.call-user-func-array.php說,第一個參數應該是要調用的函數名稱(bind_param),然後是一個(引用)函數數組作爲第二個參數的參數。 – cjs1978 2014-10-06 23:00:42
你看過其他類似的問題嗎?爲什麼你堅持使用'mysqli',然後,如果PDO避免這種解決方法? – mario 2014-10-06 23:01:57