Erreur PHP ??

Résolu/Fermé
ultra3omda Messages postés 18 Date d'inscription mercredi 22 novembre 2006 Statut Membre Dernière intervention 7 décembre 2012 - Modifié par ultra3omda le 18/05/2012 à 03:02
ultra3omda Messages postés 18 Date d'inscription mercredi 22 novembre 2006 Statut Membre Dernière intervention 7 décembre 2012 - 19 mai 2012 à 15:15
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

jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
Modifié par jisisv le 18/05/2012 à 03:44
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
mysql_query("INSERT INTO emprunt VALUES('"
.$_POST['ncin']
."','"
.$_POST['numliv']
."','"
.$_POST['demp']
."')");

Attention à l'usage des double-quotes et simple-quotes.
1
ultra3omda Messages postés 18 Date d'inscription mercredi 22 novembre 2006 Statut Membre Dernière intervention 7 décembre 2012
19 mai 2012 à 15:15
merçi c tres gentil c ça ce que je cherche problème résolu !!!!!!!!!
0
mpmp93 Messages postés 6648 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
18 mai 2012 à 09:08
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
ultra3omda Messages postés 18 Date d'inscription mercredi 22 novembre 2006 Statut Membre Dernière intervention 7 décembre 2012
18 mai 2012 à 18:47
j'ai réécrit mon code et encore la même erreur
0
mpmp93 Messages postés 6648 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
18 mai 2012 à 19:19
cherchez encore....
0
canarder Messages postés 1714 Date d'inscription jeudi 28 août 2008 Statut Membre Dernière intervention 13 mai 2018 354
18 mai 2012 à 19:25
essaye d'utiliser des ' à l'intérieur de la requête, plutôt que des ".
0