This question already has answers here:
Catchable fatal error: Object of class PDOStatement could not be converted to string in D
(2个答案)
3年前关闭。
我知道这个问题已经得到解答,但我真的无法解决我的问题。实际上,我实际上尝试选择基于sql的薪水数字,但我遇到此错误:“可捕获的致命错误:PDOStatement类的对象无法转换为字符串”
这是我的代码:
要么
在这种情况下,因为它是没有任何参数的查询,所以这可能是最简单的解决方案
像这样使用
(2个答案)
3年前关闭。
我知道这个问题已经得到解答,但我真的无法解决我的问题。实际上,我实际上尝试选择基于sql的薪水数字,但我遇到此错误:“可捕获的致命错误:PDOStatement类的对象无法转换为字符串”
这是我的代码:
function getNbSalaries(){
global $pdo;
$query = "SELECT count(*) as nb FROM salaries ;";
$prep= $pdo->prepare($query);
$prep->fetch(PDO::FETCH_ASSOC);
return $prep;
}
最佳答案
您必须使用
->prepare()
->execute()
要么
->query()
在这种情况下,因为它是没有任何参数的查询,所以这可能是最简单的解决方案
function getNbSalaries(){
global $pdo;
$query = "SELECT count(*) as nb FROM salaries";
$prep= $pdo->query($query);
$row = $prep->fetch(PDO::FETCH_ASSOC);
return $row;
}
像这样使用
global
并不是一个好主意,将连接作为这样的函数的参数传递是一个更好的主意function getNbSalaries($pdo){
$query = "SELECT count(*) as nb FROM salaries";
$prep= $pdo->query($query);
$row = $prep->fetch(PDO::FETCH_ASSOC);
return $row;
}
$row = getNbSalaries($pdo);
echo $row['nb']'
关于php - 可捕获的致命错误:无法将类PDOStatement的对象转换为字符串pdo php sql ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41924286/