Php 显示来自内部联接的结果

Php 显示来自内部联接的结果,php,mysql,pdo,inner-join,Php,Mysql,Pdo,Inner Join,我希望以尽可能简单的方式显示内部联接的结果。我试过这个,但不起作用: <?php $serveur = "localhost"; $login = "root"; $pass = "root"; try{ $conn = new PDO("mysql:host=$serveur;dbname=test2", $login, $pass); $conn->setAtt

我希望以尽可能简单的方式显示内部联接的结果。我试过这个,但不起作用:

<?php
        $serveur  = "localhost";
        $login = "root";
        $pass = "root"; 

        try{
            $conn = new PDO("mysql:host=$serveur;dbname=test2", $login, $pass);

            $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

            //On place notre requête dans une variable
            $jointure_int =
                "SELECT Inscrits.prenom, Commentaires.commentaire
                FROM Inscrits
                INNER JOIN Commentaires
                ON Inscrits.id = Commentaires.id_inscrit";

            //On prépare notre requête
            $requete = $conn->prepare($jointure_int);

            //On exécute notre requête
            $resultat = $requete->execute();

            echo "<pre>";
            print_r($resultat);
            echo "</pre>";

        }

        catch(PDOException $e) { 
            echo 'Echec : ' . $e->getMessage(); 
        }
?>

我知道我的SQL语句工作得很好(我已经在MySQL中进行了测试)。我在用PDO。这里唯一要打印的是数字“1”

我想了解此代码不起作用的原因。我的变量$resultat不是数组吗?我不能打印联接的结果吗?显示此结果的最简单方法是什么(我是否必须获取所有内容?)

我创作这首颂歌只是为了自我训练,顺便说一句,我并不打算在任何网站上应用它

提前谢谢你

execute()
只返回表示有错误的布尔值。因此,
print\r($resultat)
prints
true
false

你的问题的答案是:

最容易显示这一结果的战争是什么


使用
fetchAll()
。你可以在这里看到

谢谢你的回答。那么如果我很好地遵循它,我上面的变量$resultat只能存储TRUE(1)或FALSE(0)?我必须在获取数组之前获取结果,然后才能打印出来,对吗?@PierreGiraud right。1表示
true
,0表示
false
,这意味着执行查询失败。您可以在
execute()
返回
true
后获取行。有两个函数与从resultset获取行有关
fetchAll()
一次获取所有行
fetch()
每次调用都逐行提取
fetchAll()
如果有几行,或者希望一次打印所有行,但会消耗大量内存,则效果会更好。