预备语句帮助,变量数与预备语句中的参数数不匹配 [英] Prepared statement help, Number of variables doesn't match number of parameters in prepared statement

查看:86
本文介绍了预备语句帮助,变量数与预备语句中的参数数不匹配的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我收到此错误:变量数与准备好的语句中的参数数不匹配 每次我运行这段代码:

I'm getting this error : Number of variables doesn't match number of parameters in prepared statement every time I run this code:

$dbh = new mysqli("localhost", "***", "***", "pics");
    $stmt = $dbh->prepare("INSERT INTO comments (username, picture, comment) VALUES (?, ?, ?)");
   $stmt->bind_Param('s', $username);
   $stmt->bind_Param('d', $picture);
   $stmt->bind_Param('s', $comment);

   $username=$_SESSION['username'];
   $picture=$_GET['id'];
   $comment=$_POST['comment'];
   $stmt->execute();

出什么问题了?

推荐答案

尝试将所有参数放入一个bindParam调用中:

Try putting all the parameters into one bindParam call:

$stmt->bind_Param('sds', $username, $picture, $comment);

这篇关于预备语句帮助,变量数与预备语句中的参数数不匹配的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆