Frage

Ich versuche, Prepared Statements in einem PHP-Skript zu verwenden, die eine SQLite3 Datenbank mit PDO zugreift.

Die normale Version dieser Abfrage funktioniert wie erwartet:

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

Aber meine vorbereitete Anweisung Version gibt nichts.

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

Was mache ich falsch? Ich habe versucht, sowohl mit PHP 5.2 und PHP 5.3, mit dem gleichen Ergebnis.

War es hilfreich?

Lösung

Ich glaube, Sie keine weiteren Apostrophe müssen vor und nach dem? und Sie sollen einen Array verwenden: $ s-> execute (array ( "Apfel"));

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top