Domanda

Sto cercando di usare istruzioni preparate in uno script PHP che accede a un database SQLite3 usando PDO.

La versione normale di questa query funziona come previsto:

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

Tuttavia, la mia versione dell'istruzione preparata non restituisce nulla.

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

Cosa sto facendo di sbagliato? Ho provato sia con PHP 5.2 che con PHP 5.3, con gli stessi risultati.

È stato utile?

Soluzione

Penso che non siano necessari ulteriori apostrofi prima e dopo il? e dovresti usare un array: $ s- > execute (array (" apple "));

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top