Erreur PHP ??

Résolu
ultra3omda Messages postés 22 Statut Membre -  
ultra3omda Messages postés 22 Statut Membre -
Bonjour les amis
je suis entrain de faire un exercice PHP j'ai eu ce problème que je n'ai pas pu résoudre quelqu'un peut il m'aider :

voici mon code :

<?php
require_once('livre.php');
require_once('config.php');
$us=new livre('');
$liv=$us->Veriflivre($numlivre);
if($liv>0){
mysql_query("INSERT INTO emprunt VALUES("$_POST['ncin'],$_POST['numliv'],$_POST['demp']")");
}
?>

quand je l'exécute voila l'erreur :

( ! ) Parse error: syntax error, unexpected T_VARIABLE in C:\wamp\www\TP3POO\emprunt.php on line 9

mais je ne vois pas l'erreur dans la requête
voiçi le code de la page ou se trouve les valeurs :

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Emprunt des livres</title>
</head>
<body>
<form name="f1" method="post" action="emprunt.php">
<table border="1">
<tr>
<td colspan="2"><center>Emprunt de Livres</center></td>
</tr>
<tr>
<td>N?IN Abonn?/td>
<td><input type="text" name="ncin" /></td>
</tr>
<tr>
<td>Num? du Livre:</td>
<td><input type="text" name="numliv" /></td>
</tr>
<tr>
<td>Date d'emprunt:</td>
<td><input type="text" name="demp" /></td>
</tr>
<tr>
<td><input type = "submit" name="env" value= "Emprunter" /></td>
<td><input type = "reset" name="res" value= "Effacer" /></td>
</tr>
</table>
</form>
</body>
</html>

4 réponses

  1. jisisv Messages postés 3678 Statut Modérateur 936
     
    C'est normal; dans la ligne
    mysql_query("INSERT INTO emprunt VALUES("$_POST['ncin'],$_POST['numliv'],$_POST['demp']")"); 
    }
    la chaîne "INSERT..." se termine avec le premier '"' apparié, soit celuit qui suit VALUES(, après quoi le l'analyseur PHP s'attrend, au vu de la signanure de mysql_query autre chose que '$'.

    Ecris un code propre et lisible.µp.ex:
    <?php 
    //... 
    $query = sprintf("INSERT INTO emprunt VALUES('%s', '%s' , %d)", $_POST['ncin'], $_POST['numliv'], $_POST['demp']);
    $result = mysql_query($query); 
    // ... 
    ?>

    Ou à la limite , code comme un goret avec des backslashes.
    Je ne parle même pas ici de la protection des paramètres et de la sécurité...

    Gates gave ^H sold you the windows.
    GNU gave us the whole house.(Alexandrin)
    1
  2. A.Nonymous
     
    mysql_query("INSERT INTO emprunt VALUES('"
    .$_POST['ncin']
    ."','"
    .$_POST['numliv']
    ."','"
    .$_POST['demp']
    ."')");

    Attention à l'usage des double-quotes et simple-quotes.
    1
    1. ultra3omda Messages postés 22 Statut Membre
       
      merçi c tres gentil c ça ce que je cherche problème résolu !!!!!!!!!
      0
  3. mpmp93 Messages postés 2931 Date d'inscription   Statut Membre Dernière intervention   1 343
     
    Bonjour,

    L'erreur est apparemment là-dedans:

    mysql_query("INSERT INTO emprunt VALUES("$_POST['ncin'],$_POST['numliv'],$_POST['demp']")");


    vous mettez des " dans des "

    revoyez la syntaxe de VALUES(....)

    A+
    0
  4. ultra3omda Messages postés 22 Statut Membre
     
    j'ai réécrit mon code et encore la même erreur
    0
    1. mpmp93 Messages postés 2931 Date d'inscription   Statut Membre Dernière intervention   1 343
       
      cherchez encore....
      0
    2. canarder Messages postés 2034 Statut Membre 357
       
      essaye d'utiliser des ' à l'intérieur de la requête, plutôt que des ".
      0