IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Doublon d'écriture dans ma base mysql


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    en formation
    Inscrit en
    Septembre 2019
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : en formation

    Informations forums :
    Inscription : Septembre 2019
    Messages : 90
    Par défaut Doublon d'écriture dans ma base mysql
    Bonjour et merci à celui ou celle qui trouvera une solution
    Je renseigne ma base de donnée avec un INSERT INTO. seulement à chaque fois que je lance mon programme la base s'incrémente avec les mèmes data.
    j'essaie avec une vérification de boolean du type "si tu ne trouve rien exécute, le script" mais ça ne fonctionne pas.
    Auriez vous une petite idée ?????

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
     public function insert() {
            $servername = 'localhost';
            $username = 'root';
            $password = '';
            $dbase = 'mabase';          
     
                $dbco = new PDO("mysql:host=$servername", $username, $password);
                $dbco->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                $dsn = "mysql:host=$servername;dbname=$dbase";
                $pdo = new PDO($dsn, $username, $password); 
               /* verification avant insertion d'éléments */ 
                $sqlcheck = "SELECT COUNT nom FROM hotel";        
                $pdocheck = new PDO($dsn, $username, $password);
            $lishotel = $pdocheck->query($sqlcheck);
    var_dump($lishotel);
            if($lishotel !==TRUE){        
     
                try{                           
     
                            $chambre = " INSERT INTO `chambre` (`id`, `numero`) VALUES (NULL, '101'), (NULL, '202'), (NULL, '303'), (NULL, '404'), (NULL, '505') ";
                            $resultat1 = $pdo->exec($chambre);
                            if($resultat1 !== false)
                            {
                            $msg =  "Les tables chambres ont etait renseignées avec succès! </ br>";             
                            }
                            else
                            {
                            $msg =  "Erreur lors de la phase de renseignement des tables chambres.";
                            }
                            if($msg != '')
                            echo $msg;
     
                            $hotel = " INSERT INTO `hotel` (`id`, `nom`, `adresse`) VALUES (NULL, 'Albi', '2 rue des hotel\r\n81400 Albi'), (NULL, 'Auch', '2 rue des hotel\r\n32400 Auch'), (NULL, 'Foix', '2 rue des hotel\r\n09400 Foix'), (NULL, 'Tarbes', '2 rue des hotel\r\n65400 Tarbes'), (NULL, 'Montauban', '2 rue des hotel\r\n82400 Montauban')";
                            $resultat2 = $pdo->exec($hotel);
     
                            if($resultat2 !== false)
                            {
                            $msg =  "La tables des hotel a etait renseignées avec succès!";             
                            }
                            else
                            {
                            $msg =  "Erreur lors de la phase de renseignement de la tables des hotel. </ br>";
                            }
                            if($msg != '')
                            echo $msg;  
     
                    }
     
            catch (PDOException $e){
                echo "Erreur d'insertion d'elements :</ br> ";
            }  
     
        }
     
        }

  2. #2
    Membre chevronné
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Septembre 2012
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Septembre 2012
    Messages : 416
    Par défaut
    Bonjour :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sqlcheck = "SELECT COUNT nom FROM hotel"; --> $sqlcheck = "SELECT COUNT(*) AS nbhotel FROM hotel";
    https://sql.sh/fonctions/agregation/count
    https://sql.sh/cours/alias

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $lishotel = $pdocheck->query($sqlcheck); --> $lishotel = $pdocheck->query($sqlcheck)->fetch()
    puis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if($lishotel['nbhotel'] < 1) // si aucun hotel
    {
         // code INSERT INTO ....
    }

  3. #3
    Membre confirmé
    Femme Profil pro
    en formation
    Inscrit en
    Septembre 2019
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : en formation

    Informations forums :
    Inscription : Septembre 2019
    Messages : 90
    Par défaut Remerciement à valaendra
    Merci à toi.
    Ca fonctionne super.
    Bon maintenant il faut que je trouve comment faire un calendrier avec une date d'entré et une date de sortie qui bloque les jours entre ces deux date.
    Si tu as une idée du truc je suis preneuse.

    Mais en tous cas merci encore.

    Nagyp

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Stockage de fichiers dans une base MySQL
    Par FredMines dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 09/01/2006, 22h15
  2. insertion de donnée d'un formulaire dans un base mysql
    Par frans2111 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 14/10/2005, 23h34
  3. Stocker du Php dans une base Mysql
    Par tibrus dans le forum Requêtes
    Réponses: 5
    Dernier message: 01/09/2005, 22h03
  4. Réponses: 11
    Dernier message: 01/06/2005, 15h18
  5. Réponses: 3
    Dernier message: 12/11/2003, 00h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo