我选择了一个数据库,应该得到一个数字并显示它,但只显示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'];
一样操作