2010-10-10 12 views
1

Je travaille avec la base de données Zend et postgres, et je veux obtenir un résultat d'une requête sql qui a plus d'une commande. Ce que je veux exactement, c'est créer une table avec des données et ensuite demander ces données dans une requête de sélection tout dans la même déclaration.Bug insérant plusieurs commandes dans une instruction préparée

mais quand il est exécuté, je suis arrivé ce bug:

ERREUR: ne peut pas insérer plusieurs commandes dans une déclaration préparée

Je l'ai trouvé un moyen de résoudre l'insertion «/» avant la deuxième commande, Mais cela n'a pas fonctionné.

merci d'avance pour de l'aide ou des conseils à ce sujet!

Répondre

1

Cela serait plus utile si vous collé votre code ici aussi.

Je ne suis pas sûr si ce dont vous parlez est en fait une requête sql. Ce que vous semblez faire est d'ajouter quelques commandes SQL telles que create, insert et select dans une instruction préparée! Au lieu de cela, vous devez envoyer ces commandes séparément ou créer des instructions préparées séparées. Autant que je sache, postgres interdit plusieurs commandes SQL dans un seul appel de préparation.

4

Pilote PHP PDO does not allow multiple SQL commands in one statement. Vous devriez essayer de définir l'option PDO PDO :: ATTR_EMULATE_PREPARES true:

$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, true). 

Consultez la documentation Zend pour savoir comment faire. (Par exemple, dans Yii, cela est fait par l'option emulatePrepare au composant "db")

Questions connexes