簡體   English   中英

mysqli_stmt::bind_param()類型定義字符串中的元素個數與個數不匹配

[英]mysqli_stmt::bind_param()Number of elements in type definition string doesn't match number

我在使用mysqli_stmt::bind_param()遇到問題。

警告:mysqli_stmt::bind_param() [mysqli-stmt.bind-param]:類型定義字符串中的元素數與綁定變量數不匹配...

public function init($cards, $table, $seats) {
    $operation = $this->operation($table, $seats);
    return $this->insertCards($cards, $operation, count($cards));
}

public function operation($table, $seats) {
    $operation = "insert into ".$table."(";
    $values = "(";
    for ($i = 0; $i < count($seats); $i++) {
        $operation .= " cardsSeat".$seats[$i].",";
        $values .= "?,";
    }
    $values .= "?,?,?)";
    $operation .= " flop, turn, river) values ".$values;

    return $operation;
}

public function insertCards($cards, $operation, $x) {
    $insertCards = $this->spojenie->prepare($operation);
    $refArray = array();
    foreach ($cards as $key => $value) {
        $refArray[$key] = &$cards[$key];
    }
    call_user_func_array(array($insertCards, 'bind_param'), $refArray);

    $insertCards->execute();
    return true;
}

解決

  • 字符串類型(“sss...”);

     public function insertCards($cards, $operation, $x) { $types = ""; foreach($cards as $value) $types .= "s"; $cards = array_merge(array($types),$cards); $insertCards = $this->spojenie->prepare($operation); $refArray = array(); foreach($cards as $key => $value) $refArray[$key] = &$cards[$key]; call_user_func_array(array($insertCards, 'bind_param'), $refArray); $insertCards->execute(); return true; }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM