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