PHP   发布时间:2022-04-09  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php – 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()){
  @R_687_10586@lAffected=$stmt->affected_rows;
  if($@R_687_10586@lAffected>=1){
   echo '<br/><br/>updatE OK: Affected rows = '. $@R_687_10586@lAffected;
  }
 }else{
  echo "Execute Failed: (" . $stmt->errno . ") " . $stmt->error;
 }
}
$stmt->close();

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

如果我改变这两行:

$sql = "updatE userProfile SET userFirstName=?,userLocale=? WHERE id=?";
$stmt->bind_param('ssi',$userID);

到这个:

$sql = "updatE userProfile SET userFirstName=?,userLocale='en_US' WHERE id=12345";
$stmt->bind_param('s',$userFirstName);

…然后更新成功,我没有收到任何错误.

有人知道为什么我不能绑定多个param在这代码

我的代码在Centos 4.9,PHP 5.3.3,MysqL 5.0.91 / 5.0.91-community-log上完美运行

我需要在我当前的服务器上运行它,这是Centos 6.2,PHP 5.3.10,MysqL 5.0.95-community-log

做了一些研究,似乎是在MysqL代码中报告的错误,结合您的GCC版本和您使用的优化标志.
如果您不能更改MysqL版本,请尝试重新编译MysqL,并将您的CFLAGS添加到-fno-Strict-aliasing.

有关详细信息,请参阅http://bugs.mysql.com/bug.php?id=48284

大佬总结

以上是大佬教程为你收集整理的php – mysqli bind_param给出错误:(1210)mysql_stmt_execute的参数不正确全部内容,希望文章能够帮你解决php – mysqli bind_param给出错误:(1210)mysql_stmt_execute的参数不正确所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。