小编Cha*_* P.的帖子

mysqli bind_param给出错误:(1210)mysql_stmt_execute参数不正确

我有完全相同的代码在另一台服务器上运行良好:

$mysqli_Cxn = new mysqli($SQL_HOST,$SQL_USER,$SQL_PASS,$SQL_DB);
if($mysqli_Cxn->connect_errno){
echo 'Unable to connect!!';
exit();
}

$userID=12345;
$userFirstName = 'Charley';
$userLocale = 'en_US';

$sql = "UPDATE userProfile SET userFirstName=?, userLocale=? WHERE id=?";

if($stmt = $mysqli_Cxn->prepare($sql)){
 if(!$stmt->bind_param('ssi',$userFirstName,$userLocale,$userID)){
  echo "<br/><br/>Binding parameters failed: (" . $stmt->errno . ") " . $stmt->error;
 }
 if($stmt->execute()){
  totalAffected=$stmt->affected_rows;
  if($totalAffected>=1){
   echo '<br/><br/>UPDATE OK: Affected rows = '. $totalAffected;
  }
 }else{
  echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
 }
}
$stmt->close();
Run Code Online (Sandbox Code Playgroud)

该代码给出了以下输出:执行失败:(1210)mysql_stmt_execute的参数不正确

如果我改变这两行:

$sql = "UPDATE userProfile SET userFirstName=?, …
Run Code Online (Sandbox Code Playgroud)

php mysqli

12
推荐指数
1
解决办法
3945
查看次数

标签 统计

mysqli ×1

php ×1