AOP erreur: SQLSTATE[HY000]: General error: 2031

J'obtiens cette erreur gênante et bien que j'ai une idée de pourquoi je suis la, je ne peux pas pour la vie de me trouver une solution.

if ($limit) {
   $sth->bindValue(':page', $page - 1, PDO::PARAM_INT);
   $sth->bindValue(':entries_per_page', $page * $entries_per_page, PDO::PARAM_INT);
}

$sth->execute($criteria);

Requête contient des espaces réservés (:placeholder). Mais pour ajouter ces LIMITE des espaces réservés, j'ai besoin d'utiliser la méthode manuelle (bindValue) parce que sinon, le moteur va tourner dans les cordes.

Je ne suis pas non valides nombre de paramètres erreur, de sorte que tous les espaces réservés qui ont été liés correctement (je suppose).

Requête:

SELECT `articles`.*, `regional_municipalities`.`name` AS `regional_municipality_name`, 
       `_atc_codes`.`code` AS `atc_code`, `_atc_codes`.`name` AS `substance`
FROM `articles`
LEFT JOIN `_atc_codes`
ON (`_atc_codes`.`id` = `articles`.`atc_code`)
JOIN `regional_municipalities`
ON (`regional_municipalities`.`id` = `articles`.`regional_municipality`)
WHERE TRUE AND `articles`.`strength` = :strength
GROUP BY `articles`.`id`
ORDER BY `articles`.`id`
LIMIT :page, :entries_per_page

Toutes les valeurs d'espace réservé résident dans $les critères, sauf pour les deux dernières de la LIMITE, de qui j'ai manuellement lier avec bindValue().

Essayez de rechercher dans google "AOP de liaison de paramètres de LIMITE"
1) Il aurait été bien d'inclure les humains lisible message d'erreur au lieu de simplement le code obscur, 2) Montrer votre requête afin que nous puissions voir où l'erreur provient de.
Si il y avait un être humain, quel message lisible là, je serais: a) a probablement résolu maintenant, b) si non, alors inclus ici. C'était le message d'erreur complet, faites-moi confiance.
Erreur: 2031 (CR_PARAMS_NOT_BOUND)le Message: Pas de données fournies pour les paramètres dans l'instruction préparée à PARTIR de la Documentation dev.mysql.com/doc/refman/5.0/en/error-messages-client.html
Assurez-vous que vous êtes en liaison :strength ainsi? Assurez-vous $limit est truthy?

OriginalL'auteur silkfire | 2013-06-24