第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

mysqli bind_param()應(yīng)該是一個(gè)引用,給定值

mysqli bind_param()應(yīng)該是一個(gè)引用,給定值

收到一只叮咚 2019-11-04 09:25:46
無(wú)法弄清楚,是什么導(dǎo)致錯(cuò)誤mysqli_stmt :: bind_param()的參數(shù)3有望作為參考,給出的值...PDO$query = "INSERT INTO test (id,row1,row2,row3) VALUES (?,?,?,?)";$params = array(1,"2","3","4");$param_type = "isss";$sql_stmt = mysqli_prepare ($mysqli, $query);call_user_func_array('mysqli_stmt_bind_param', array_merge(array($sql_stmt, $param_type), $params));mysqli_stmt_execute($sql_stmt);也嘗試過(guò)OOPOOP$insert_stmt = $mysqli->prepare($query);array_unshift($params, $param_type);call_user_func_array(array($insert_stmt, 'bind_param'), $params);$insert_stmt->execute();但是同樣的錯(cuò)誤,只是現(xiàn)在參數(shù)2引起了問(wèn)題。那么,$ params有什么問(wèn)題呢?我需要$ params是值數(shù)組。
查看完整描述

3 回答

?
侃侃爾雅

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超16個(gè)贊

這個(gè)答案已經(jīng)過(guò)時(shí)了。請(qǐng)?jiān)谳^新的PHP版本(如Stacky回答)中使用傳播運(yùn)算符。


從php docu:


將mysqli_stmt_bind_param()與call_user_func_array()結(jié)合使用時(shí)必須小心。注意,mysqli_stmt_bind_param()要求參數(shù)通過(guò)引用傳遞,而call_user_func_array()可以接受可以表示引用或值的變量列表作為參數(shù)。


在mysqli-stmt.bind-param頁(yè)面上,您有不同的解決方案:


例如:


call_user_func_array(array($stmt, 'bind_param'), refValues($params));


function refValues($arr){

    if (strnatcmp(phpversion(),'5.3') >= 0) //Reference is required for PHP 5.3+

    {

        $refs = array();

        foreach($arr as $key => $value)

            $refs[$key] = &$arr[$key];

        return $refs;

    }

    return $arr;

}


查看完整回答
反對(duì) 回復(fù) 2019-11-04
?
FFIVE

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊

在PHP 5.6中引入的,您可以使用...運(yùn)算符(“擴(kuò)展運(yùn)算符”)以較少的麻煩來(lái)實(shí)現(xiàn)相同的結(jié)果:


//object-oriented

$sql_stmt->bind_param($param_type, ...$params);


//procedural

mysqli_stmt_bind_param($sql_stmt, $param_type, ...$params);


查看完整回答
反對(duì) 回復(fù) 2019-11-04
?
哈士奇WWW

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個(gè)贊

Dunno為什么在代碼中使用單詞“ PDO”,但這是其中唯一正確的單詞。使用PDO,面對(duì)mysqli準(zhǔn)備好的語(yǔ)句不會(huì)遇到問(wèn)題:


$query = "INSERT INTO test (id,row1,row2,row3) VALUES (?,?,?,?)";

$params = array(1,"2","3","4");

$stmt = $pdo->prepare($query);

$stmt->execute($params);

只需看一下這段簡(jiǎn)潔的代碼,然后將其與mysqli準(zhǔn)備好的語(yǔ)句與所需的代碼進(jìn)行比較即可。


查看完整回答
反對(duì) 回復(fù) 2019-11-04
  • 3 回答
  • 0 關(guān)注
  • 620 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)