[RESOLU] Pdo, instructions nécessaires

Eléphant du PHP | 256 Messages

24 mars 2015, 20:23

Bonjour,

J'essaie d'utiliser Pdo, mais je me pose quelques questions basiques, et la documentation de Php n'y répond pas. Les logs de Php sont silencieux sur mon serveur, sauf grosses erreurs.

Soit le code suivant...
$timezone_name = 'Europe/Paris';
$database = 'sqlite:/var/www/base.sqlite';
$database_user = '';
$database_password = '';
try {
    $dbh = new PDO($database, $database_user, $database_password);
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
    /*$dbh->beginTransaction();*/
    $table_timezones = $dbh->quote('timezones');
    $sth = $dbh->prepare('SELECT identifier, timezone FROM '.$table_timezones.' WHERE timezone = ?');
    $sth->execute(array($timezone_name));
    $query = $sth->fetch(PDO::FETCH_ASSOC);
    /*$dbh->commit();*/
    $sth->closeCursor();
} catch(PDOException $e) {
    echo $e->getMessage(). "\n";
    echo $e->getCode();
}
  • $dbh->beginTransaction();
    $dbh->commit();
    $sth->closeCursor();
sont-ils nécessaire quand on ne modifie pas les données ?

Question subsidiaire, au risque d'abuser. comment traiter les messages d'erreurs en Ajax avec jQuery ? J'ai cru comprendre que try et catch n'étaient pas nécessaires en production ? Qu'en pensent les habitués ?

Mille mercis. :)

Cordialement,

Gaspard

Mammouth du PHP | 688 Messages

24 mars 2015, 20:38

non, ces 3 fonctions ne sont pas nécessaires, il te suffit de ne pas les mettre, et de voir que cela fonctionne très bien sans.

Eléphant du PHP | 256 Messages

25 mars 2015, 00:10

@tof73 Mes tests avaient, en effet, étaient concluants, mais je suis heureux d'avoir eu un avis extérieur.

Merci.

Cordialement,

Gapsard

Eléphant du PHP | 256 Messages

20 mai 2015, 00:18

En fait, "closeCursor()", précision pour un futur lecteur des archives de "PhpFrance", est loin d'être inutile, quand on imbrique des requêtes. Par exemple, à partir de lecture d'un enregistrement dans une table "A", on souhaite créer une table "B". Au moins pour SQLite. :)

Utilement (?),

Gaspard

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

20 mai 2015, 00:52

Merci pour le retour d'info qui sera, j'en suis sûr, utile à d'autres :)
Quand tout le reste a échoué, lisez le mode d'emploi...