Pregunta

Estoy tratando de usar declaraciones preparadas en un script PHP que accede a una base de datos SQLite3 usando PDO.

La versión normal de esta consulta funciona como se esperaba:

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

Sin embargo, mi versión de declaración preparada no genera nada.

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

¿Qué estoy haciendo mal? Intenté con PHP 5.2 y PHP 5.3, con los mismos resultados.

¿Fue útil?

Solución

Creo que no necesitas apóstrofes adicionales antes y después de? y debe usar una matriz: $ s- > execute (array (" apple "));

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top