可捕获的致命错误:类pdo语句的对象无法转换为字符串pdo php sql

可捕获的致命错误:类pdo语句的对象无法转换为字符串pdo php sql,php,mysql,pdo,Php,Mysql,Pdo,我知道这个问题已经得到了回答,但我还没有找到解决问题的办法。实际上,我试图选择一个sql库的工资数,但我有一个错误:“可捕获的致命错误:类PDOStatement的对象无法转换为字符串” 这是我的密码: function getNbSalaries(){ global $pdo; $query = "SELECT count(*) as nb FROM salaries ;"; $prep= $pdo->prepare($query); $prep->fetc

我知道这个问题已经得到了回答,但我还没有找到解决问题的办法。实际上,我试图选择一个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()

在这种情况下,由于它是一个没有任何参数的查询,这可能是最简单的解决方案

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']'

这不起作用,但我知道问题出在哪里,我认为:

我的职能:

function getNbSalaries($pdo){
 $query = "SELECT count(*) as nb FROM salaries ;";
 $prep= $pdo->prepare($query);
 $prep->fetch(PDO::FETCH_ASSOC);
 $prep->execute();
 return $prep; 
}
我的主页上有返回结果的代码:

<p>Nombre de salariés : <?= getNbSalaries(); ?> </p>
名称:


我看到我做了一些修改:我不同意$pdo one我的答案,但他在我的代码上。别担心:)
<p>Nombre de salariés : <?= getNbSalaries(); ?> </p>