Je rencontre un problème lorsque PDO encapsule des valeurs int à l'aide de guillemets et par la suite rend les requêtes échouées.Problème lors du passage de PDO :: PARAM_INT à l'aide d'un tableau de valeurs d'insertion
Voici le code (en utilisant une fonction d'emballage)
$newest = query("SELECT id, body, upvotes, downvotes
FROM suggestions ORDER BY timestamp DESC LIMIT :min, :max",
array(
':min' => $min,
':max' => $max
)
);
Et ceci est la requête mauvaise résultante qui provoque une erreur (notez les guillemets autour des LIMIT
valeurs)
SELECT id, body, upvotes, downvotes FROM suggestions ORDER BY timestamp DESC LIMIT '0' , '50'
Je m passant un tableau de valeurs:
array(
':min' => $min,
':max' => $max
)
Ils sont tous deux INT, et de ce que je lire sur Internet PDO devrait automatiquement trouver et utiliser PDO::PARAM_INT
lors de leur liaison. Le problème est qu'il ne fait pas réellement cela, et puisque mon seul moyen de les passer est à travers un tableau, je voudrais demander s'il y a un moyen de les forcer à PDO::PARAM_INT
sans avoir à utiliser bindParam()
.
Merci d'avance.
aussi pourquoi votre seul moyen est de tableau? – dynamic
C'est parce que j'utilise une fonction wrapper, et que la fonction wrapper n'autorise que des tableaux –
Y a-t-il un problème pour vous si vous utilisez uniquement cette classe de PDO standard? (ce n'est pas la meilleure idée) – dynamic