Vérification de donnée mysql<->PDO

Résolu
Yazou92 Messages postés 208 Statut Membre -  
 Utilisateur anonyme -
Bonjour,

Le code suivant, vérifie si il y a des fichiers dans un dossier et si c'est le cas, il les enregistre dans la base de donnée.

Mais ce que je veux, c'est que si le fichier existe déjà, il ne me l'enregistre pas, et je trouve pas de solution vraiment adapter sur le reste du net.

Le CODE:
<?php

$dsn = "mysql:host=localhost;dbname=dvix";
$user = "root";
$password = "";

try {
    $db = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
    die("Erreur !:" . $e->getMessage());
}

$rep = "film/";
$dir = opendir($rep);
while ($file = readdir($dir)) {
    if (($file != ".") && ($file != "..")) {

        echo $file."<br/>";
        $statement = "INSERT INTO t_film 
            (n_file)
            VALUES ('$file')";
        echo $statement . '<br/>';
        $db->exec($statement);
    }
}
?>


Merci d'avance

1 réponse

  1. Utilisateur anonyme
     
    Bonjour,

    Quelque chose comme ceci, un select pour regarder si la valeur existe, si elle n'existe pas, insert, sinon rien

    if (($file != ".") && ($file != "..")) {
    
            echo $file."<br/>";
    
    $sql="select count(*) as nb from t_film where n_file='".$file."'";
    $stat = $db->prepare($sql);
    $stat->execute();
    $result = $stat->fetchAll();
    if ($result[0]['nb']==0) {
    
            $statement = "INSERT INTO t_film 
                (n_file)
                VALUES ('$file')";
            echo $statement . '<br/>';
            $db->exec($statement);
        }
    }
    
    0
    1. Yazou92 Messages postés 208 Statut Membre 16
       
      Sa joue merci ça marche.

      Merci beaucoup ^^
      0
    2. Utilisateur anonyme
       
      De rien !
      0