Erreur inconue

Par Pierrot01, il y a 7 ans


Bonjour,

Uncaught Error: Call to a member function rowCount() on integer in /var/www/html///update_table.php:86

Erreur non intercepté ??????

De plus, je ne touve rien sur cette erreur sur internet :D

try { $stmnt = "UPDATE $table SET $fields_str WHERE id = $id"; $count = $connexion->exec($stmnt); $ar['rowsaffexted'] = $count->rowCount(); // ligne 86 } catch (Exception $exc) { $msgerr .= " UPDATE ->" .$exc->getMessage(); }

Ce que je veux

Je voudrais savoir combien de ligne on été modifiées.

Ce que j'obtiens

Uncaught Error: Call to a member function rowCount() on integer in /var/www/html///update_table.php:86

4 réponses

Elyanor, il y a 7 ans

Hello,

Si on regarde bien la doc, on s'aperçoit que la fonction exec renvoit expressément le nombre de lignes affectées ;)

À partir de là : $count = $connexion->exec($stmnt);
Si tu affiches $count, tu verras que c'est déjà un nombre de lignes ;)

Pierrot01, il y a 7 ans

@Elyanor <3 :D ❤️

@plus
Pierre

JeremyB, il y a 7 ans

Salut,

Comme dit dans la doc de exec() :

PDO::exec() retourne le nombre de lignes qui ont été modifiées ou effacées par la requête SQL exécutée. Si aucune ligne n'est affectée, la fonction PDO::exec() retournera 0.

Ainsi, tu as juste à faire :

$ar['rowsaffexted'] = $count;

EDIT : merde, le temps que je te rédige ça, Elyanor t'a déjà répondu !

Pierrot01, il y a 7 ans

@JeremyB , c'est fait et ça fonctionne ;)

@pluche
Pierre