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

Résolu
Yazou92 Messages postés 181 Date d'inscription   Statut Membre Dernière intervention   -  
 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

A voir également:

1 réponse

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
Yazou92 Messages postés 181 Date d'inscription   Statut Membre Dernière intervention   16
 
Sa joue merci ça marche.

Merci beaucoup ^^
0
Utilisateur anonyme
 
De rien !
0