如何使用PHP mysql(PDO)回显查询结果

如何使用PHP mysql(PDO)回显查询结果

问题描述:

这看起来可能很愚蠢,但我不知道如何做这个简单的事情,尽管有很多谷歌搜索。如何使用PHP mysql(PDO)回显查询结果

我有全功能的PHP脚本,查询mysql数据库检查布尔值。我的脚本包含代码:

$sql = "SELECT truefalse FROM mydb WHERE bilbobaggins=:bilbobaggins"; 

$query = $db->prepare($sql); 

try { 

$query->execute(array(

     ':bilbobaggins' => $bilbobaggins 

)); 

} catch (Exception $e) { 

echo "Query failed. " . ($e->getMessage()); 
$db = null; 
die; 

} 

所有我想要做的是有查询的结果呼应从脚本回来,使得例如,如果我把

http://www.myurl.com/myscript.php?bilbobaggins=user32984329842 

成浏览器,它将以文本格式返回1或0。

我怀疑我需要更改线路:

$query->execute(array(

喜欢的东西:

print $query->execute(array(

但是,这并不工作。

任何帮助表示赞赏。谢谢。

+0

我们需要看到比更多的代码,以及作为解释什么是或不在工作。 –

+0

您需要获取结果。 – chris85

+0

为什么试图捕捉异常,而不是让它自然失败? – user1032531

我固定它通过添加以下内容:

while ($row = $query->fetch(PDO::FETCH_ASSOC)) 
{ 
echo $row['truefalse']; 
} 

:)

+1

这段代码工作正常,我不明白downvotes。然而,OP还需要使用反引号来转义key,因为它是MySQL中的一个保留字。 ''sql =“SELECT truefalse FROM mydb WHERE'key' =:key”;'' –

+0

我编辑了原始帖子来解决这个问题。 –

试着像...

<?php 
$sql = "SELECT truefalse FROM mydb WHERE `key`=:key"; 
$stmt = $db->prepare($sql); 
$stmt->execute(array('key' => $key)); 
header('Content-Type: text/plain;'); 
echo($stmt->fetchColumn()); 
+0

'key'是MySQL中的一个保留字。您需要用反引号将其转义。 ''sql =“SELECT truefalse FROM mydb WHERE'key' =:key”;'' –