这是我的代码:
public function getTypeByID($typeId) {
$stmt = $this->conn->prepare("SELECT type_id, description FROM type WHERE type_id = ? ");
$stmt->bind_param("i", $typeId);
if ($stmt->execute()) {
$stmt->bind_result($id_type, $description);
$stmt->fetch();
$type = array();
$type["type_id"] = $id_type;
$type["description"] = $description;
$stmt->close();
return $type;
} else {
return NULL;
}
}
我收到了这个错误:
致命错误:在布尔值上调用成员函数execute()。
我检查了所有谈论它的主题,但对我没什么用。
我尝试在Mysql(PhpMyAdmin)上执行查询,但它确实有效。
我的类型表结构:
任何想法。
答案 0 :(得分:1)
您的sql确实为表命名,但是我只是有一个相同错误的实例,使我进入了此页面。
在SQL中调用“数据库名称”或不存在的表而不是“表名称”也会产生此错误。
答案 1 :(得分:0)
也许是因为 type 是MySQL中的保留字。 请参阅:https://dev.mysql.com/doc/refman/5.5/en/keywords.html 尝试将表名更改为smth else。
答案 2 :(得分:0)
type
是MySQL的保留字。
要解决此问题,您需要在语句中添加单引号。
示例
SELECT 'type_id', 'description' FROM 'type' WHERE 'type_id' .........