PHP-PDO echo$array[';name';];它不起作用了

PHP-PDO echo$array[';name';];它不起作用了,php,mysql,arrays,pdo,echo,Php,Mysql,Arrays,Pdo,Echo,我无法实现从数组中回显关联值 这是我的PHP代码: <?php $servername = "my host name"; $username = "my username"; $password = "my password"; $database = "my database"; try { $conn = new PDO("mysql:host=$servername;dbname=$database", $username,

我无法实现从数组中回显关联值

这是我的PHP代码:

<?php
    $servername = "my host name";
    $username = "my username";
    $password = "my password";
    $database = "my database";
    try {
        $conn = new PDO("mysql:host=$servername;dbname=$database", $username, $password);
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $stmt = $conn->prepare("SELECT Street, Number, City, Country FROM extralocal");
        $stmt->execute();
    } catch (PDOException $e) {
        echo $sql . "<br>" . $e->getMessage();
    }
    $conn = null;
?>
<?php
    $places = array();
    while ($place = $stmt->fetchAll(PDO::FETCH_ASSOC)) {
        $places[] = $place;
    }
    foreach ($places as $place) {
        echo $places['Street'];
        echo $places['Number'];
        echo $places['City'];
        echo $places['Country'];

    } 
?>

由于某种原因,当我在
foreach
循环中从
array
返回
每个值时,加载的页面上不会显示任何内容,甚至不会显示错误。但是,如果我
var_dump
数组
我可以看到值在那里,因此我假设DB连接工作正常,并且正确获得了值。只是我不能回应具体的值

任何帮助都将不胜感激。 提前谢谢

foreach ($places as $place) {
    echo $places['Street'];
    echo $places['Number'];
    echo $places['City'];
    echo $places['Country'];
}
取而代之

foreach ($places as $place) {
    echo $place['Street'];
    echo $place['Number'];
    echo $place['City'];
    echo $place['Country'];

} 
在while循环中使用
fetch
而不是
fetchAll

希望它能解决您的问题

替换$places['Street'];按$place[“Street”]@波里亚,没什么,结果一样。无错误。您希望在while循环中使用
fetch
而不是
fetchAll
。否则,您将在一个子阵列中存储所有结果@Poria,实际上你的建议也是对的,因为用$places代替$place是不正确的。再次感谢。@Rizier123,我不知道如何投票支持这两个答案,因为它们都是正确的,或者我就这样离开了?谢谢你的反馈,但不幸的是它没有起作用:(好的,在我按照@Rizier123在评论中的建议修复了问题之后,我还发现这是我代码中的另一个问题。谢谢!