ça doit classique mais je ne trouve pas ce que je veux :/
Je voudrais faire un test sur un insert pour savoir s'il est réussi ou pas en fait.
Code : Tout sélectionner
if(query($sql)){
echo "ok"
}else{
echo "pas ok";
}Merci
Code : Tout sélectionner
if(query($sql)){
echo "ok"
}else{
echo "pas ok";
}Code : Tout sélectionner
$resultats=$connexion->query($query);
$data=$resultats->fetchAll(PDO::FETCH_ASSOC);
Code : Tout sélectionner
function sql($query){
$resultats=$connexion->query($query);
if($resultats===FALSE){
$data=false;
}else{
$data=$resultats->fetchAll(PDO::FETCH_ASSOC);
$resultats->closeCursor();
return $data;
$connexion = NULL;
}
}
Code : Tout sélectionner
if($data==false){
echo "pas ok";
}else{
echo "ok";
}
<?php
try {
//Se connecter par PDO
$connexion = new PDO('mysql:host=localhost;dbname=test', 'root', '');
$connexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//Commencer une transaction
$connexion->beginTransaction();
//Requête
$connexion->exec("insert into client values (3, 'Momo')");
$connexion->exec("insert into client values (4, 'Lolo')");
//Valider les requête et arrêter la transaction
$connexion->commit();
echo "Requêtes exécutées avec succès";
} catch (PDOException $e) { //Gestion des erreurs causées par les requêtes PDO
//Annuler la transaction
if ($connexion) $connexion->rollBack();
//Afficher l'erreur
echo "Échec : " . $e->getMessage();
}
?>
L'instruction php TRY { } CATCH () {} permet de capturer les erreurs et de les gérer d'une façon centralisée.
Il ne l'avait pas précisé dès le départ non plus...Ô, excuse moi j'ai pas vu que tu utilise PDO.