Historique des conversations
Chargement...
MySQL retourne des codes d'erreur quand une requête échoue :
1062 : Duplicate entry (violation UNIQUE)1451 : Cannot delete (contrainte clé étrangère)1452 : Cannot add (clé étrangère invalide)1064 : Syntax error<?php
$conn = mysqli_connect("localhost", "root", "", "ma_base");
if (!$conn) {
die("Erreur de connexion : " . mysqli_connect_error());
}
$sql = "INSERT INTO utilisateurs (email) VALUES ('test@example.com')";
if (!mysqli_query($conn, $sql)) {
echo "Erreur : " . mysqli_error($conn);
echo "Code : " . mysqli_errno($conn);
}
mysqli_close($conn);
?>
<?php
try {
$pdo = new PDO("mysql:host=localhost;dbname=ma_base", "root", "");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO utilisateurs (email) VALUES (:email)";
$stmt = $pdo->prepare($sql);
$stmt->execute(['email' => 'test@example.com']);
} catch (PDOException $e) {
echo "Erreur : " . $e->getMessage();
echo "Code : " . $e->getCode();
}
?>
<?php
function logError($message) {
$log = date('Y-m-d H:i:s') . " - " . $message . "\n";
file_put_contents('mysql_errors.log', $log, FILE_APPEND);
}
try {
// Requête SQL
} catch (PDOException $e) {
logError($e->getMessage());
echo "Une erreur est survenue";
}
?>
Vous savez gérer les erreurs MySQL ! Prochain chapitre : Gestion des transactions.
Testez vos compétences avec nos exercices guidés et le tuteur IA.
Expliquez avec vos mots le concept principal de ce chapitre, puis illustrez-le par un exemple simple.
Réalisez un exercice pratique en reprenant la structure vue dans le cours et en modifiant au moins 2 paramètres.
Concevez une petite solution personnelle liée à ' Gestion des erreurs' et justifiez vos choix techniques.