2016-04-22 11 views
-2

これは愚かなように見えるかもしれませんが、私は多くのグーグルにもかかわらずこの簡単なことをする方法を理解できません。PHPを使用してクエリ結果をエコーする方法mysql(PDO)

私はブール値をチェックするためにmysqlデータベースに照会する完全に機能するPHPスクリプトを持っています。私のスクリプトは、コードが含まれています

$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のいずれかを返します。

print $query->execute(array(

しかし、それは動作しませんのようなものに

$query->execute(array(

は、私はラインを変更する必要があると思います。

助けてください。ありがとう。

+0

を我々は同様に、より多くのコードを参照する必要があります正確に何が働いているのか、それともないのかを説明します。 –

+0

結果を取得する必要があります。 – chris85

+0

なぜ例外をキャッチし、自然に失敗させないのですか? – user1032531

答えて

-1

私は、次を追加することによって、それを修正:

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

:)

+1

このコードはうまく動作し、私はdownvotesを理解していません。しかし、OPはMySQLの予約語であるため、バッククォートで 'key'をエスケープする必要もあります。 '' $ sql = "SELECT truefalse FROM mydb WHERE' key' =:key ";' ' –

+0

この問題を修正するために元の投稿を編集しました。 –

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 ";' '' –