INSERT INTO

Bonjour,

j'utilise un script php qui récupère des variable d'un formulaire pour les enregistre dans une base de données mysql avec la fonction INSERT INTO. le problème est qu'il inscris rien dans la base alors que quand j'utilise la fonction update sa mes bien a jour.
je ne comprend pas d' ou cela peux venir car quand je test sa ne me sort pas d'erreur,
pouvais vous aidée SVP !!!

<?php
mysql_connect("localhost", "root", "");
mysql_select_db("sondage");

$artist = mysql_real_escape_string(htmlspecialchars($_POST['artist']));
$titre = mysql_real_escape_string(htmlspecialchars($_POST['titre']));
echo $artist;
echo'<br/>';
echo $titre;

mysql_query("INSERT INTO t_sondage VALUES('', '.$artist.', '.$titre.')");
header("Refresh: 2; URL=./index.php");
?>
Configuration: Windows XP
Firefox 3.5.3

8 réponses

  1. en utilisant cette méthode d'insert into
    mysql_query("INSERT INTO t_sondage VALUES('', '.$artist.', '.$titre.')");
    sans appel ou énumération des champs, il faut que la table ne comporte que ces champs '', artist, et titre ET énumérés dans l'ordre. Sinon c'est pas bon.

    S'il y a d'autre champs dans la table non soumis à l'insertion, il faut appeller les champs avant ton value
    ex
    insert into tab (champ, champ1, champ2) values ('', value1, value2, value3).
    Avabtage, si la structure de la table change ton insert continue à fonctionner sous couvert que les champs demeurent !
    1. mets ta requête sql dans une variable et affiche la^^ j'ai un doute sur ta concaténation (inutile par ailleurs, le problème vient peut être de là)
      1. ces quoi la concaténation ?
    2. $var3=$var1.$var2;, c'est ça^^ (sommairement)

      bon entre ça directement dans ton phpmyadmin (si tu as ça)

      INSERT INTO t_sondage VALUES('', '.$artist.', '.$titre.')

      et file nous la structure de ta table
      1. la base est "sondage", elle ne contiens qu'une table "t_sondage", qui contiens 4 champt "id_sondage" "artist" "titre" et "nb_vote"
    3. Essaye avec ça :
      mysql_query('INSERT INTO t_sondage VALUES("","'.$artist.'","'.$titre.'")');
      1. je viens d' essayé ton code avion f16 et sa ne marche pas non plus.
        je ne comprend pas sa n'affiche pas d'erreur mais sa n' ajout rein a la BDD.
    4. Alors essaye avec ça, il serat plus bavar pour nous dire l'erreur :
      $sql = 'INSERT INTO t_sondage VALUES("","'.$artist.'","'.$titre.'")';
      $req = mysql_query($sql) or die('Erreur dans <em>'.$sql.'</em><br/><strong>'.mysql_error().'</strong>');
      1. voila se que sa sort !!

        robi williams
        Angels
        Erreur dans INSERT INTO t_sondage VALUES("","robi williams","Angels ")
        Column count doesn't match value count at row 1
        1. C'est un problème dû à la structure de ta table.
          Soit tu as mis les mauvais type de champs, soit tu ne respecte pas ta structure.
          1. ok je vais reprendre tout sa demain la tete au clair. vous vous tien au courent et merci a tous pour le coup de main !!!