2009-06-24 23 views
0

PDOを使用してSQLite3データベースにアクセスするPHPスクリプトでプリペアドステートメントを使用しようとしています。PHP - PDO SQLite3プリペイドステートメント

このクエリの正常なバージョンが期待どおりに動作:

$q1 = "SELECT COUNT(*) FROM fruits WHERE name='apple'"; 
echo $db->query($q1)->fetchColumn(); 

は、しかし、私のプリペアドステートメントのバージョンは何も出力しません。

$q2 = "SELECT COUNT(*) FROM fruits WHERE name='?'"; 
$s = $db->prepare($q2); 
$s->execute("apple"); 
echo $s->fetchColumn(); 

私は間違っていますか? PHP 5.2とPHP 5.3の両方で同じ結果を試しました。

答えて

6

あなたは、前後にアポストロフィを追加する必要はないと思いますか?あなたは配列を使うべきです:$ s-> execute(array( "apple"));

+0

ありがとうございます!それはうまくいった。 –