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 :

Problème INSERT INTO


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2015
    Messages : 17
    Par défaut Problème INSERT INTO
    Bonsoir à tous.
    J'ai changé d'hébergeur en passant de Nétissime à 1&1 et depuis j'ai quelques soucis avec mon site internet.
    En changeant d'hébergeur, j'ai changé de version de PHP et depuis il m'est impossible d'utiliser la fonction INSERT INTO, même en local.
    J'ai tout mis à jour, mais là je sèche.

    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
     
    if(isset($_POST['civilite']))      $civilite=$_POST['civilite'];
    else      $civilite="";
     
    if(isset($_POST['nom']))      $nom=$_POST['nom'];
    else      $nom="";
     
    if(isset($_POST['prenom']))      $prenom=$_POST['prenom'];
    else      $prenom="";
     
    if(isset($_POST['email']))      $email=$_POST['email'];
    else      $email="";
     
    if(empty($nom) OR empty($prenom) OR empty($email)) 
        { 
        echo 'Attention, vous n\'avez pas rempli un champs obligatoire !';
        echo '<a href="javascript:history.go(-1);">Retour</a>';
        } 
     
    else      
        { 
     
    $sql = "SELECT id FROM newsletter WHERE email='$email'"; 
    $req = mysqli_query($sql);  
     
    $res = mysqli_num_rows($req); 
     
        if($res!=0)
            { 
    	echo 'Merci de votre confiance,';
    	echo '<br />';
        	echo 'mais votre adresse mail existe dans notre base !';
    	echo '<br />';
    	echo 'Pour consulter le site, <a href="index.php" target="_top">cliquez ici</a>';
            } 
        else 
            {    
    $sql = "INSERT INTO newsletter(id,civilite,nom,prenom,email) VALUES('','$civilite','$nom','$prenom','$email')"; 
    mysqli_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysqli_error());
    Est-ce que vous avez une idée de ce qui se passe ?

    Merci d'avance pour votre aide

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour.

    1- Ne concatène pas directement les valeurs à insérer dans la requête, utilise une requête préparée.
    2- Pour l'id (clé primaire), en principe, on utilise une valeur auto-incrémentée si on a pas de générateur, ne pas mettre une valeur vide.
    3- Même si l'utilisation d'un block {} n'est pas obligatoire quand il s'agit d'une seule instruction, utilise le pour une meilleur lisibilité de ton code.
    4- Il faut faire attention avec l'utilisation de l'opérateur OR
    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
    <?php
    $a = "";
    $b = "test";
    if(empty($a) or empty($b)){
      echo ' true <br />';
    } else {
      echo ' false <br />';
    }
    if(empty($b) or empty($a)){
      echo ' true <br />';
    } else {
      echo ' false <br />';
    }
    if(empty($a) || empty($b)){
      echo ' true <br />';
    } else {
      echo ' false <br />';
    }
    if(empty($b) || empty($a)){
      echo ' true <br />';
    } else {
      echo ' false <br />';
    }
     
     
    $c = empty($a) or empty($b);
    echo '$c: ';
    var_dump($c);
    echo '<br />';
     
    $d = empty($b) or empty($a);
    echo '$d: ';
    var_dump($d);
    echo '<br />';
     
    $e = empty($a) || empty($b);
    echo '$e: ';
    var_dump($e);
    echo '<br />';
     
    $f = empty($b) || empty($a);
    echo '$f: ';
    var_dump($f);
     
     ?>
    $d = empty($b) or empty($a); vaut à écrire ($d = $empty($b)) or $empty($a)

    A+.

Discussions similaires

  1. Problème Insert into table intermédiaire
    Par richard_sraing dans le forum Requêtes
    Réponses: 1
    Dernier message: 24/01/2009, 22h58
  2. [A-03] Problème insert into et date
    Par thierrybatlle dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 20/10/2008, 08h17
  3. problème INSERT INTO C#/Access
    Par jerome71300 dans le forum Accès aux données
    Réponses: 8
    Dernier message: 18/08/2008, 13h34
  4. Probléme Insert into
    Par dellys2 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 21/02/2007, 10h46
  5. [Requête] Problème INSERT INTO
    Par lerico dans le forum Requêtes et SQL.
    Réponses: 22
    Dernier message: 10/01/2006, 17h12

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