我知道这个问题已经得到解答,但我并没有真正解决我的问题。我实际上尝试选择sql基础的工资数量,但我有这个错误:"可捕获的致命错误:PDOStatement类的对象无法转换为字符串"
这是我的代码:
function getNbSalaries(){
global $pdo;
$query = "SELECT count(*) as nb FROM salaries ;";
$prep= $pdo->prepare($query);
$prep->fetch(PDO::FETCH_ASSOC);
return $prep;
}
答案 0 :(得分:0)
你必须使用
->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']'
答案 1 :(得分:0)
不能工作,但我知道我认为问题在哪里:
我的职能:
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>