Php 对pdo中的非对象调用成员函数fetch()
我不知道为什么我在pdo中得到对非对象的成员函数fetch()的Php 对pdo中的非对象调用成员函数fetch(),php,mysql,pdo,Php,Mysql,Pdo,我不知道为什么我在pdo中得到对非对象的成员函数fetch()的调用。这真让我沮丧 $db= new PDO($dns,DB_USER,DB_PASS); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $workspace_id=isset($_GET['workspace']) ? (int)$_GET['workspace'] : ""; try{ $sql="SELECT * FROM messa
调用。这真让我沮丧
$db= new PDO($dns,DB_USER,DB_PASS);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$workspace_id=isset($_GET['workspace']) ? (int)$_GET['workspace'] : "";
try{
$sql="SELECT * FROM messages WHERE workspace_id = :id";
$stmt=$db->prepare($sql);
$stmt->bindValue(':id', $workspace_id, PDO::PARAM_INT);
$result=$stmt->execute();
$message=$result->fetch();
}catch(Exception $e){echo $e->getMessage();}
因为$stmt->execute()
应该返回布尔值
如果要使用fetch,应该从$stmt
文档:
成功时返回TRUE,失败时返回FALSE
在本例中,您将尝试从布尔值获取数据
$result=$stmt->execute();
$message=$result->fetch();
只是需要改变
$stmt->execute();
$message=$stmt->fetch();
$\u GET['workspace']
的值是多少?$\u GET['workspace']
返回一个ID,例如356
只需使用$stmt->execute()$message=$stmt->fetch()代码>和检查谢谢!终于成功了!像这样$message=$stmt->execute()->fetch()代码>?$stmt->execute()$message=$stmt->fetch();