Requete SQL avec variable php
Fermé
Bonjour,
Voila pour dans mon site internet, je crée une requete sql grace à laquel je vais renseigner une base de données (INSERT)
Je veux remplir la les champs de la table par des variables que j'avais recupéré avant dans un cookie. Je vous montre la requete en php.
$sql="INSERT INTO Réponses_jour (1,2,3) VALUES ($_COOKIE['site'],$_COOKIE['medecin'],$_COOKIE['matricule'])";
Mais la syntaxe est fausse. Et je ne trouve pas comment l'écrire.
Pouvez vous m'aider ?
Voila pour dans mon site internet, je crée une requete sql grace à laquel je vais renseigner une base de données (INSERT)
Je veux remplir la les champs de la table par des variables que j'avais recupéré avant dans un cookie. Je vous montre la requete en php.
$sql="INSERT INTO Réponses_jour (1,2,3) VALUES ($_COOKIE['site'],$_COOKIE['medecin'],$_COOKIE['matricule'])";
Mais la syntaxe est fausse. Et je ne trouve pas comment l'écrire.
Pouvez vous m'aider ?
A voir également:
- Requete SQL avec variable php
- Easy php - Télécharger - Divers Web & Internet
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp ✓ - Forum Word
- Requete sql pix - Forum PHP
- Logiciel sql - Télécharger - Bases de données
3 réponses
Xil
Messages postés
350
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
11 juin 2009
257
5 févr. 2008 à 15:45
5 févr. 2008 à 15:45
Si ta requête est entre double quote ( " " ), il ne faut plus de simple quote ( ' ' ) autour de l'indice d'un tableau. Il faut par contre d'office des ' ou " autour des variables de chaines de caractères en SQL.
Les quatre formats suivant sont valables :
Et je conseille vivement d'user d'un maximum de précaution quand on manipule une BDD avec des valeurs fournies par l'utilisateur.
https://www.php.net/htmlspecialchars
https://www.php.net/strip_tags
https://www.php.net/intval
https://www.php.net/mysql_real_escape_string
https://www.php.net/addslashes
https://fr.wikipedia.org/wiki/Injection_SQL
Les Cookies sont aisément modifiables.
Les quatre formats suivant sont valables :
"INSERT INTO table (colonne) VALUES ('$array[indice]');" "INSERT INTO table (colonne) VALUES ('" . $array['indice'] . "');" 'INSERT INTO table (colonne) VALUES (\'' . $array['indice'] . '\');' 'INSERT INTO table (colonne) VALUES ("' . $array['indice'] . '");'
Et je conseille vivement d'user d'un maximum de précaution quand on manipule une BDD avec des valeurs fournies par l'utilisateur.
https://www.php.net/htmlspecialchars
https://www.php.net/strip_tags
https://www.php.net/intval
https://www.php.net/mysql_real_escape_string
https://www.php.net/addslashes
https://fr.wikipedia.org/wiki/Injection_SQL
Les Cookies sont aisément modifiables.
salut
essayes ca :
" INSERT INTO user VALUES( '$_COOKIE['site']', '$_COOKIE['medecin']', '$_COOKIE['matricule']' ) "
dans ta bdd il faut que les colonnes soit dans l'ordre
site --> 1ere colonne
medecin --> 2eme colonne
matricule --> 3eme colonne
En php tu appeler cette requete comme ca :
if (mysql_query("I INSERT INTO user VALUES( '$_COOKIE['site']', '$_COOKIE['medecin']', '$_COOKIE['matricule']' ) ") or die(mysql_error()))
{
echo "OK , inséré dans la BDD";
}
essayes ca :
" INSERT INTO user VALUES( '$_COOKIE['site']', '$_COOKIE['medecin']', '$_COOKIE['matricule']' ) "
dans ta bdd il faut que les colonnes soit dans l'ordre
site --> 1ere colonne
medecin --> 2eme colonne
matricule --> 3eme colonne
En php tu appeler cette requete comme ca :
if (mysql_query("I INSERT INTO user VALUES( '$_COOKIE['site']', '$_COOKIE['medecin']', '$_COOKIE['matricule']' ) ") or die(mysql_error()))
{
echo "OK , inséré dans la BDD";
}
Xil
Messages postés
350
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
11 juin 2009
257
5 févr. 2008 à 16:22
5 févr. 2008 à 16:22
Il ne faut plus mettre les ' ' autour de l'indice de $_COOKIE ou de n'importe quel tableau.
PHP renvoit une erreur de parsing :
Ceci est correct :
Ou une autre syntaxe comme dans mon premier post.
Ceci dit, si l'on passe par des fonctions de sécurité, le problème ne se pose plus ;)
"...Values ('$_COOKIE['site']')"est incorrect.
PHP renvoit une erreur de parsing :
PHP Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
Ceci est correct :
"...VALUES ('$_COOKIE[site]')"
Ou une autre syntaxe comme dans mon premier post.
Ceci dit, si l'on passe par des fonctions de sécurité, le problème ne se pose plus ;)
Le problème en écrivant :
"...Values ('$_COOKIE['site']')" ou même
"...Values ('$_COOKIE[site]')"
c'est que PHP va pas savoir déterminer ce qu'il doit afficher.
Pour afficher une variable toute seule on peut faire :
"...Values ('$variable')"
Mais pour un tableau il vaut mieux séparer la chaine en deux :
"...Values ('" . $_COOKIE['site'] . "')"
Le "point" permet de concaténer deux chaines.
J'espère avoir aidé quelqu'un ;)
"...Values ('$_COOKIE['site']')" ou même
"...Values ('$_COOKIE[site]')"
c'est que PHP va pas savoir déterminer ce qu'il doit afficher.
Pour afficher une variable toute seule on peut faire :
"...Values ('$variable')"
Mais pour un tableau il vaut mieux séparer la chaine en deux :
"...Values ('" . $_COOKIE['site'] . "')"
Le "point" permet de concaténer deux chaines.
J'espère avoir aidé quelqu'un ;)