在 SELECTION 语句的非对象上调用成员函数 bind_param()

Posted

技术标签:

【中文标题】在 SELECTION 语句的非对象上调用成员函数 bind_param()【英文标题】:Call to a member function bind_param() on a non-object on SELECTION statement 【发布时间】:2015-04-09 09:45:29 【问题描述】:

我正在使用以下代码 sn-p 从学生表中选择行数。但它显示错误“致命错误:在非对象上调用成员函数 bind_param()”。在我的表中,“stacyear”是 VARCHAR,“courseid”是 TINY INT。

$stmt = $mysqli->prepare("SELECT count (*) FROM students WHERE stacyear = ? and courseid = ?");
$stmt->bind_param('si', $acyear, $courseid); 
$stmt->execute();    
$stmt->store_result();
$stmt->bind_result($utype);
$stmt->fetch();

【问题讨论】:

你的courseid 是字符串,它必须是$courseid 仍然显示同样的错误 准备好后再放这个:if(!$stmt) exit($mysqli->error); 我没有提到我刚刚发布你的错字的答案.. 它显示“您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以获取在 '* 附近使用的正确语法)来自学生 WHERE stacyear = ? 和 courseid = ? '在第 1 行“ 【参考方案1】:

COUNT(*) 之间不能有空格。改为

$stmt = $mysqli->prepare("SELECT count(*) FROM students WHERE stacyear = ? and courseid = ?");

【讨论】:

用于显示正确的问题而不是更改查询

以上是关于在 SELECTION 语句的非对象上调用成员函数 bind_param()的主要内容,如果未能解决你的问题,请参考以下文章

wordpress 在functions.php第5行的非对象上调用成员函数add_section()

PHP 致命错误:在第 45 行的 admin\includes\html\database.class.php 中的非对象上调用成员函数 prepare()

致命错误:对 SQL SERVER 2012 的非对象 XAMPP 上的成员函数 query() 调用

MFC中静态成员函数调用其他类的非静态变量

抽象类借口构造函数静态方法成员

在破坏调用期间从另一个线程未定义的行为调用对象上的方法?