payetonju
Messages postés436Date d'inscriptionmercredi 26 septembre 2007StatutMembreDernière intervention 2 juillet 2014
-
27 avril 2012 à 14:25
cs_ghuysmans99
Messages postés3982Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 2013
-
28 avril 2012 à 10:26
Bonjour,
J'ai un petit script EN AJAX qui me met simplement à jour 1 champ de la base de données en cliquant sur une checkbox. La donnée reçue est "OUI" ou "NON".
Le type champ en base dans le quel je souhaite insérer cette information est "TINYINT(1)".
Lorsque j'exécute mon UPDATE ça me met :
"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''rdv' <gras>'1' WHERE guid 'oqvysha6dvvpbgmnuijoms59qetylthp'' at line 1</gras>"
Je convertis juste avant la valeur "OUI" en 1 et la valeur "NON" en 0. Donc je ne comprends pas mon erreur.
Voici mon code :
if( isset( $_POST['datas'] ) && isset( $_POST['guid'] ) && isset( $_POST['action'] ) )
{
$Data = $_POST['datas']; // "Oui" ou "Non"
$GUID = $_POST['guid']; // Unique ID du prospect
$Action = $_POST['action']; // "rdv" ou "inscription"
$Conn = mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname,$Conn);
// On vient chercher le nom et le prenom du client a partir du GUID envoye grace a la requete AJAX depuis database.php
$res mysql_query( "SELECT nom,prenom FROM logs WHERE GUID '".$GUID."' " ); // Execution de la requete
while( $data = mysql_fetch_assoc( $res ) ) // Tant qu'il y a des resultats (normalement 1 seul et unique, d'ou le GUID)
{
// On transforme la variable $Data qui était une String, en Int
if( strtolower( $Data ) "oui" ) $Data (int)"1";
else $Data = (int)"0";
// Requete qui pose probleme !!
$res_up mysql_query("UPDATE logs SET '".$Action."' '".$Data."' WHERE guid = '".$GUID."' ") or die( mysql_error()."
".$sql );
echo "
"; // Affichage
echo "Fiche de ".htmlentities( $data['nom'] )." ".htmlentities( $data['prenom'] )." modifiée.
";
if( $Action == "rdv" ) echo "Rendez-vous ";
else echo "Inscription ";
echo " : ".$Data."";
echo "
";
}
mysql_close($Conn);
}
Si vous pouviez me donner un petit coup de main pour me débugger, ça serait gentil de voter part.
cs_ghuysmans99
Messages postés3982Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 201316 28 avril 2012 à 10:26
N'oublie pas de bien filtrer ce que tu mets dans ton SQL... Ici par exemple, quelqu'un pourrait écraser le champ qu'il veut en modifiant $_POST['action'] et faire ignorer la condition en bidouillant $_POST['guid'] ...
VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question