mysql
// -----------------------------------------------------
// * @link http://www.codexworld.com
// -----------------------------------------------------
try {
// Connexion PDO à la base de données
$dsn = "mysql:host=$host;dbname=$bdd;charset=utf8";
$db = new PDO($dsn, $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Gestion des erreurs
// Variable temporaire pour stocker la requête en cours
$templine = '';
// Lecture du fichier ligne par ligne
$lines = file($filename);
$error = '';
// Variables pour suivre les lignes traitées
$z = 0;
$x = 0;
// Boucle à travers chaque ligne du fichier
foreach ($lines as $line) {
// Ignorer les commentaires et lignes vides
if (substr($line, 0, 2) == '--' || $line == '') {
continue;
}
// Ajouter cette ligne au segment en cours
$templine .= $line;
$x++;
// Si la ligne se termine par un point-virgule, c'est la fin de la requête
if (substr(trim($line), -1, 1) == ';') {
// Exécuter la requête
try {
$db->exec($templine); // Utilisation de exec() pour les requêtes sans résultat
} catch (PDOException $e) {
$error .= 'Erreur lors de l\'exécution de la requête "' . $templine . '": ' . $e->getMessage() . '
';
}
// Réinitialiser la variable temporaire
$templine = '';
$z++;
}
}
// Message de statut
$admMsg .= 'Lignes traitées : ' .$z. ', sur ' .$x. ' lignes';
} catch (PDOException $e) {
// En cas d'erreur de connexion PDO
$error .= 'Erreur de connexion à la base de données : ' . $e->getMessage();
}
?>