我在同一个类中有三个函数和函数包含数据库查询。 在其他函数中查询正常,如下所示:
$userId = $_SESSION['uid'];
$st = $this->db->prepare("SELECT * FROM showinfo, usershows WHERE usershows.showid = showinfo.showid AND usershows.userid = :userId");
$st->bindParam('userId', $userId);
$st-> execute();
但是这里查询不起作用:
$st = $this->db->prepare("DELETE FROM usershows WHERE usershows.userid = :userId");
$st->bindParam(':userid', $userId);
$st->execute();
它说:
警告:PDOStatement :: execute():SQLSTATE [HY093]:参数号无效:参数未在(文件位置)中定义
代码可以回显我的userId,所以这不能为空。
有什么建议吗?
答案 0 :(得分:2)
在您的第二个示例bindParam()
中,您需要使用:userId
而不是:userid
PHP区分大小写!