php 执行mysql存储过程后 再执行sql 失败_PHP调用存储过程出错,普通SQL语句返回的结果却正常...

$mysqli = new MySQLi("localhost","root","root","sziitjx");

if(!$mysqli){

die($mysqli->error);

}

//创建一个预定义的对象 ?占位

// $sql = "select state from servicer where servicer_id=? and password=?";

$sql = "call login(?,?)";

$mysqli_stmt = $mysqli->prepare($sql);

$id='1501090103';

$pw='123456';

//绑定参数

$mysqli_stmt->bind_param("ss",$id,$pw);

//绑定结果集

$mysqli_stmt->bind_result($state);

//执行

$mysqli_stmt->execute();

//取出绑定的结果集

while($mysqli_stmt->fetch()){

echo "--$state--


";

}

//关闭结果集

$mysqli_stmt->free_result();

$mysqli_stmt->close();

$mysqli->close();

?>$sql = "select state from servicer where servicer_id=? and password=?";

执行上面这句返回的结果为1$sql = "call login(?,?)";

执行这句却出错

Warning: mysqli_stmt::bind_result(): Number of bind variables doesn't match number of fields in prepared statementselect state from servicer where servicer_id=user_id and password=pw;

存储过程是上面这句,附带两个参数IN `user_id` char(20),IN `pw` char(20)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值