php - 在非对象上调用成员函数 bind_param()

标签 php mysqli prepared-statement

<分区>

我试图在这个准备好的语句中绑定(bind)一个变量,但我一直收到错误:

Call to a member function bind_param() on a non-object

函数被调用,变量被传递给它。当我将函数更改为仅回显变量时,该变量在页面上打印正常,但如果我尝试在此处绑定(bind)它,我会收到错误消息。谁能帮忙?

//CALL FROM PAGE ONE
check($username);

//FUNCTION ON PAGE 2
function check($username){
$DBH = getDBH();
$qSelect = $DBH->prepare("SELECT * FROM users WHERE username = ?");
$qSelect->bind_param("s", $username);
}

我知道函数没有完全写在这里,但这应该不是问题。我不明白为什么会收到此错误。

最佳答案

嗯,prepare() 失败的一个原因是发送给它的 sql 语句在当前数据库中无效。

prepare() 将返回 false。

例如 - 如果表名不正确或者查询中的一个或多个字段不存在

关于php - 在非对象上调用成员函数 bind_param(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24702473/

相关文章:

php - 提交一个表格导致提交另一个 : 3 Html forms in a Page

php - 如何使用 Laravel Excel 在 ->download() 之后重定向

php - mysql 查询从 10,000 条数据中检索太慢(查询优化)

php - WHERE 子句中的 NULL

php - php/mysql 准备插入语句的问题

php - 使用 php 在 SlickGrid 中保存更改

php - MySQL建表查询时如何使用变量作为表名?

PHP mysqli_query 在 foreach 循环中不起作用

php mysqli 连接到旧版本

java - 准备好的语句更新 - 性能改进