par
gectou4 » 07 févr. 2007, 16:08
j'ai constaté cela aussi mais uniquement dans des cas très précis comme la redéfinition de session_gc et sessison_write.
J'ai pus controuner le problème ne instanciant pdo d'un fichier inclut dans le dossier courant (ou un sous dossier du dossier courant mais pas un dossier supérieur; ça ne marchera pas si on rmeonte d'un repertoire)
je me retourne (en passant le try/ctach avec un $pdo = new pdo(...)
Ensuite j'appel l'objet $pdo à chaque instance de class via les global
__custruct(){
global $pdo;
this->pdo = $pdo;
}
Ce qui me donne des query dans mes méthodes équivalente à :
$this->pdo->query();
Si dans certains points clef tu rencontre des problèmes vérifie que :
en effet je dois uniquement faire des $pdo->query() car en cas de deux $pdo->execute() le deuxième ne marche pas.
Attention ausis si tu utilises la même variable de retour de résultat :
$result = $pdo->query()
il faudra la mettre à null ou la unset
$result = null;
$result = $pdo->query()
Curieusement autrement ça plantait également -_-'
Pour rappel PDO tend à être plus stable mais est promise à évolution il faudrat donc veiller aux mise à jours...
j'ai constaté cela aussi mais uniquement dans des cas très précis comme la redéfinition de session_gc et sessison_write.
J'ai pus controuner le problème ne instanciant pdo d'un fichier inclut dans le dossier courant (ou un sous dossier du dossier courant mais pas un dossier supérieur; ça ne marchera pas si on rmeonte d'un repertoire)
je me retourne (en passant le try/ctach avec un $pdo = new pdo(...)
Ensuite j'appel l'objet $pdo à chaque instance de class via les global
[php]__custruct(){
global $pdo;
this->pdo = $pdo;
}[/php]
Ce qui me donne des query dans mes méthodes équivalente à :
[php]$this->pdo->query();[/php]
Si dans certains points clef tu rencontre des problèmes vérifie que :
en effet je dois uniquement faire des $pdo->query() car en cas de deux $pdo->execute() le deuxième ne marche pas.
Attention ausis si tu utilises la même variable de retour de résultat :
[php]$result = $pdo->query()[/php]
il faudra la mettre à null ou la unset
[php]$result = null;
$result = $pdo->query()[/php]
Curieusement autrement ça plantait également -_-'
Pour rappel PDO tend à être plus stable mais est promise à évolution il faudrat donc veiller aux mise à jours...