Php mysql

noumouydokhé -  
Guillaume k Messages postés 24 Statut Membre -
Bonjour,
voici mon code
index.php
<?php
?>
<form action="emis.php" method="post">
<input type="text" name="user_name" />
<input type="text" name="user_password" />
<input type="text" name="user_email"/>
<input type="submit" value="Enregister"/>
</form>
<?php
?>

emis.php
<?php
$result = @mysql_connect('localhost','root','');
mysql_select_db('site');
$sql_query ="INSERT INTO users (user_name,user_password,user_email) VALUES ($_POST['user_name'],$_POST['user_password'],$_POST['user_email'])";
$result = mysql_query($sql_query);
if(!$result)
echo "kham";

?>

J'ai toujours l'erreur

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\Program Files\EasyPHP 2.0b1\www\script\emis.php on line 4
Configuration: Windows XP
Internet Explorer 6.0

8 réponses

  1. @nGel_974 Messages postés 3489 Date d'inscription   Statut Membre Dernière intervention   157
     
    Salut c'est un peu con ce que je vais dire mais essaie d'ajouter des espaces après tes virgules ;

    $sql_query ="INSERT INTO users (user_name, user_password, user_email) VALUES ($_POST['user_name'], $_POST['user_password'], $_POST['user_email'])"; 


    Sinon je ne vois pas d'où peut venir le problème... Les quotes sont bien ouvertes et bien fermées, pas de mélanges...

    Pour la connexion je te propose ce code :

    mysql_connect($host,$user,$passwd)
    or die("erreur de connexion au serveur $host");
    


    Que tu peux retrouver en détail là : http://www.commentcamarche.net/contents/php/phpbdd.php3. Et vérifie en affichant dans des echo, si tu transmets bien les bonnes valeurs à ta page emis.php.

    Penses à fermer ta base de données aussi =>

     // Deconnexion de la base de donnees
    mysql_close();


    0
  2. bissdebrazza Messages postés 2886 Statut Contributeur 712
     
    salut!

    essai avec ça!

    <?php
    $result = @mysql_connect('localhost','root','');
    mysql_select_db('site');
    $sql_query ="INSERT INTO users (user_name,user_password,user_email) VALUES ('$_POST['user_name']','$_POST['user_password']','$_POST['user_email']')";
    $result = mysql_query($sql_query);
    if(!$result)
    echo "kham";
    


    ?>
    0
  3. noumouydokhé
     
    ça régle pas le probléme
    0
  4. bissdebrazza Messages postés 2886 Statut Contributeur 712
     
    OK!

    alors essai ceci:

    <?php
    $name=$_POST['user_name'];
    $pass=$_POST['user_password'];
    $mail=$_POST['user_email'];

    $result = @mysql_connect('localhost','root','');
    mysql_select_db('site');
    $sql_query ="INSERT INTO users (user_name,user_password,user_email) VALUES ('$name,'$pass','$mail')";
    $result = mysql_query($sql_query);
    if(!$result)
    echo "kham";

    ?>
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. noumouydokhé
     
    je m'excuse mais ça régle pas le probléme
    0
    1. @nGel_974 Messages postés 3489 Date d'inscription   Statut Membre Dernière intervention   157
       
      Est-ce que tu as relu mon post ? car j'y ai rajouté quelques informations bonne à savoir =)
      0
  7. giheller
     
    bonjour

    <?php
    $name=$_POST['user_name'];
    $pass=$_POST['user_password'];
    $mail=$_POST['user_email'];

    $result = @mysql_connect('localhost','root','');
    mysql_select_db('site');
    // manque une quote là ------------------------------------------------------------------------------------------>
    $sql_query ="INSERT INTO users (user_name,user_password,user_email) VALUES ('$name','$pass','$mail')";
    $result = mysql_query($sql_query);
    if(!$result)
    echo "kham";

    ?>
    autre chose à vérifier :
    ces noms : user_name,user_password,user_email , sont-ils ceux des colonnes de la table ?

    0
  8. noumouydokhé
     
    si je mets des chaines de caractéres par exemple
    $sql_query ="INSERT INTO users (user_name,user_password,user_email) VALUES ('wi','wi','wi')";

    ça marche mais j'ai éssayé la solution de giheller mais ça marche pas
    0
    1. giheller
       
      je te propose de mettre en début du programme et de nous donner le résultat
      echo "<pre>";print_r($_POST);echo "</pre>";

      pour vérifier que tu reçois bien quelque chose.
      0
  9. Guillaume k Messages postés 24 Statut Membre 3
     
    Essaie plutôt ça:
    <?php
    
    mysql_connect('localhost','root','');
    mysql_select_db('site');
    $sql_query = mysql_query("INSERT INTO users (user_name,user_password,user_email) VALUES (".$_POST['user_name'].",".$_POST['user_password'].",".$_POST['user_email'].")");
    $result = mysql_fetch_array($sql_query);
    if(!$result)
    {
          echo "kham";
    }
    mysql_close();
    
    ?> 

    Pour faire une requête sql avec mysql, il faut utiliser la fonction "mysql_query".
    Pour mettre les résultats dans un tableau, il faut utiliser "mysql_fetch_array" (il en existe d'autres mais peu importe).
    Quand tu ouvres une connexion à ta base de données, n'oublies pas de la refermer avec la fonction "mysql_close();".
    Il me semble qu'il n'y a pas d'autre erreur.

    J'espère t'avoir aider.
    édition : une petite erreur dans le code, je viens de la corriger.
    0