0

重複の可能性:
mysqli_stmt オブジェクトで call_user_func_array を使用できない

次のコード行で警告を出力している mysqli コードがあります。

if (!$stmt = $mysqli->prepare($questionquery)) {
  die("Error preparing statement: $mysqli->error"); 
}

警告は次のとおりです。

Warning: Wrong parameter count for mysqli_stmt::bind_param() in ... line 80 

以下はメインコードです:

// Make the referenced array
$referencedArray = make_values_referenced(array_merge(
  array(str_repeat("ss", $numTerms)), // types
  $termArray,                         // where
  $termArray                          // order by
));

// ...or die() is evil in production but I shall assume we are debuggin so I won't complain
if (!$stmt = $mysqli->prepare($questionquery)) {
  die("Error preparing statement: $mysqli->error"); 
}

// Bind parameters
if (!$stmt->bind_param($referencedArray)) {
  die("Error binding parameters: $stmt->error"); 
}
4

1 に答える 1

1

メソッドを直接呼び出すことができます:

$stmt->bind_param($referencedArray);

編集:実際には私は間違っています。call_user_func_array可変数のパラメーターが必要です。解決策については、この回答を参照してください: https://stackoverflow.com/a/5108167/163024

于 2012-09-06T23:55:13.507 に答える