PDO un query() après un exec()

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : PDO un query() après un exec()

PDO un query() après un exec()

par gectou4 » 03 août 2007, 10:00

Bonjour,

je parcours un peu toutes la doc pdo et la communauté php sans grande fructivité sur un problème avec pdo.

La situation est fort simple:
<?php

// Retourne 0 même si il efface bien la ligne
$pdo->exec("DELETE FROM ma_table WHERE id=1");


// Ensuite on fait une query:
$req = $pdo->query("SELECT * FROM autre_table");

// Renvoie une erreur, Call to a member function fetchObject() on a non-object
while($data = $req->fetchObject()){}
?>


Du moment que j'appel un query(); après un exec(); j'ai une erreur
var_dump($pdo); après un $pdo->exec();
renvoie : NULL

Ce qui me laisse à penser que exec() clos la conenxtion ou détruit l'objet :shock:

si je fait mon DELETE via un query, tout marche mais c'est très pas propre :lol:
j'ai tenter les closecursos même si ce n'est pas une query, cela renvoie un undefinded function par contre...

Je précise que je suis sur php 5.2.2 mais j'ai le même problème sur 5.2.3 et 5.2.1. même sur php 5.1...

Si vous avez une idée, sinon tant pis, $pdo->query(); pawa