Php-pdo结果数组


Php pdo result array

我选择了一个数据库,应该得到一个数字并显示它,但只显示array

$sth = $conn->prepare("SELECT score FROM people WHERE email='gasd3z@yaho.com'");
$sth->execute();
$result = $sth->fetchAll(PDO::FETCH_ASSOC);
echo $result;

我能做些什么来显示那个数字?

您不需要准备任何内容,因此不需要使用准备好的语句,只需使用以下查询即可:

$result = $conn->query("SELECT score FROM people WHERE email='gasd3z@yaho.com'");
foreach($result as $row)
    echo $row['score'];

前面的答案是错误的,但并不多。当您执行fetchAll()时,您将从数据库中获取与查询匹配的所有行。

答案是

$sth = $conn->prepare("SELECT score FROM people WHERE email=:email");
$sth->execute([':email' => 'gasd3z@yaho.com']);
$result = $sth->fetch(PDO::FETCH_ASSOC);
$sth->closeCursor();
echo $result['score'];

不要忘记prepare()是用于准备语句的,所以您最好像我的示例一样在查询中包含用户数据。若不想处理查询中的任何值,请改用query()exec()

您可以使用print_r($result)var_dump($result)打印出数组。回声只能打印出类型。

此外,如果您只需要打印出一行,请像echo $result['score']; 一样操作