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

Résolu/Fermé
Yazou92 Messages postés 181 Date d'inscription jeudi 15 janvier 2009 Statut Membre Dernière intervention 30 avril 2013 - 6 sept. 2011 à 14:21
 Utilisateur anonyme - 6 sept. 2011 à 15:56
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

Utilisateur anonyme
6 sept. 2011 à 15:27
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 jeudi 15 janvier 2009 Statut Membre Dernière intervention 30 avril 2013 16
6 sept. 2011 à 15:38
Sa joue merci ça marche.

Merci beaucoup ^^
0
Utilisateur anonyme
6 sept. 2011 à 15:56
De rien !
0