Mysql et requète avec parametre
Résolu/Fermé
milcham
Messages postés
14
Date d'inscription
lundi 25 août 2008
Statut
Membre
Dernière intervention
5 juin 2010
-
2 sept. 2008 à 11:33
Akronos Messages postés 140 Date d'inscription jeudi 6 janvier 2011 Statut Membre Dernière intervention 31 janvier 2011 - 17 janv. 2011 à 09:37
Akronos Messages postés 140 Date d'inscription jeudi 6 janvier 2011 Statut Membre Dernière intervention 31 janvier 2011 - 17 janv. 2011 à 09:37
A voir également:
- Requête paramétrée mysql
- Mysql community server - Télécharger - Bases de données
- Mysql gratuit ou payant - Forum MySQL
- Le paquet « mysql-server » n'a pas de version susceptible d'être installée ✓ - Forum Debian
- Error 2002 (hy000): can't connect to local mysql server through socket '/var/lib/mysql/mysql.sock' (2) ✓ - Forum Linux / Unix
- Requête sql pix - Forum Python
5 réponses
bbar
Messages postés
436
Date d'inscription
mercredi 27 septembre 2006
Statut
Membre
Dernière intervention
31 octobre 2008
140
2 sept. 2008 à 11:41
2 sept. 2008 à 11:41
salut,
par exemple :
$ta_requete="SELECT * FROM le_nom_de_ta_base WHERE nom_du_champ = '$ta_variable'";
@+
bbar
par exemple :
$ta_requete="SELECT * FROM le_nom_de_ta_base WHERE nom_du_champ = '$ta_variable'";
@+
bbar
bbar
Messages postés
436
Date d'inscription
mercredi 27 septembre 2006
Statut
Membre
Dernière intervention
31 octobre 2008
140
2 sept. 2008 à 11:56
2 sept. 2008 à 11:56
oui. Peux-tu me coller ici ce que tu as mis et qui ne fonctionne pas ?
milcham
Messages postés
14
Date d'inscription
lundi 25 août 2008
Statut
Membre
Dernière intervention
5 juin 2010
2 sept. 2008 à 12:17
2 sept. 2008 à 12:17
Ok voici un bout du code,
.......................
.................
$periode= $_POST['mois'].$slash.$_POST['annee'];// concatenation de variable pour obtenir un VARCHAR de stocckant la date.
.............
................
$nombre = mysql_query('SELECT nom_beneficiaire FROM encours,beneficiaire WHERE encours.periode= '$periode' '); // la requete doit me retourner le nom de tous les bénéficiaires enregistrer à cette période qui est un paramètre.
.....................
et ça me retourne l'erreur :
Parse error: syntax error, unexpected T_VARIABLE in C:\wamp\www\traitements\cr210b.php on line 225
Merxi pour ton aide
.......................
.................
$periode= $_POST['mois'].$slash.$_POST['annee'];// concatenation de variable pour obtenir un VARCHAR de stocckant la date.
.............
................
$nombre = mysql_query('SELECT nom_beneficiaire FROM encours,beneficiaire WHERE encours.periode= '$periode' '); // la requete doit me retourner le nom de tous les bénéficiaires enregistrer à cette période qui est un paramètre.
.....................
et ça me retourne l'erreur :
Parse error: syntax error, unexpected T_VARIABLE in C:\wamp\www\traitements\cr210b.php on line 225
Merxi pour ton aide
bbar
Messages postés
436
Date d'inscription
mercredi 27 septembre 2006
Statut
Membre
Dernière intervention
31 octobre 2008
140
2 sept. 2008 à 13:29
2 sept. 2008 à 13:29
ce n'est pas tout à fait la même chose que ce que je t'ai collé : tu utilises des simples quotes alors que j'utilise des guillemets pour entourer l'ensemble de la requête. Avec les guillemets, il suffit d'entourer la variable avec des simples quotes :
Par contre, si tu veux utiliser les simples quotes autour de ta variable, celle qui est avant $periode est interprétée comme fin de chaine de caractère. Et pour faire comprendre que tu as une variable derrière, il faut que tu encadre aussi avec des points :
@+
$nombre = mysql_query("SELECT nom_beneficiaire FROM encours,beneficiaire WHERE encours.periode= '$periode' ");
Par contre, si tu veux utiliser les simples quotes autour de ta variable, celle qui est avant $periode est interprétée comme fin de chaine de caractère. Et pour faire comprendre que tu as une variable derrière, il faut que tu encadre aussi avec des points :
$nombre = mysql_query('SELECT nom_beneficiaire FROM encours,beneficiaire WHERE encours.periode= '.$periode.' ');
@+
milcham
Messages postés
14
Date d'inscription
lundi 25 août 2008
Statut
Membre
Dernière intervention
5 juin 2010
2 sept. 2008 à 13:53
2 sept. 2008 à 13:53
ok merci, pour le moment, ça ne me signale pas d'erreurs.je teste la requète avec ma base et je te fais signe après.Merci encore!!!!!
Akronos
Messages postés
140
Date d'inscription
jeudi 6 janvier 2011
Statut
Membre
Dernière intervention
31 janvier 2011
32
17 janv. 2011 à 09:37
17 janv. 2011 à 09:37
Bizarre que tu n'ai pas d'erreur alors que tu fais même pas la jointure entre tes tables...
mouf13
Messages postés
142
Date d'inscription
mardi 20 juin 2006
Statut
Membre
Dernière intervention
22 février 2011
17
2 sept. 2008 à 15:14
2 sept. 2008 à 15:14
$ta_requete="SELECT * FROM le_nom_de_ta_base WHERE nom_du_champ = '$ta_variable'";
beurk
$ta_requete= 'SELECT * FROM le_nom_de_ta_base WHERE nom_du_champ = \''.$ta_variable.'\' ';
miam
beurk
$ta_requete= 'SELECT * FROM le_nom_de_ta_base WHERE nom_du_champ = \''.$ta_variable.'\' ';
miam
cocacola75
Messages postés
12
Date d'inscription
mercredi 23 juin 2010
Statut
Membre
Dernière intervention
1 février 2011
17 janv. 2011 à 03:54
17 janv. 2011 à 03:54
$ta_requete = mysql_query("SELECT * FROM le_nom_de_ta_base WHERE (nom_du_champ =
'" . $ta_variabla . "')");
miam miam
'" . $ta_variabla . "')");
miam miam
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Akronos
Messages postés
140
Date d'inscription
jeudi 6 janvier 2011
Statut
Membre
Dernière intervention
31 janvier 2011
32
Modifié par Akronos le 17/01/2011 à 09:35
Modifié par Akronos le 17/01/2011 à 09:35
Avec un peu de propreté propreté:
Les simples quotes font gagné du temps. Pour ta requête avec la date tu devrais avoir:
Si tu t'en sens l'occasion, met tes variables de connexion et la connexion serveur et bdd dans un fichier à part (exemple: bd.php), il faudra pensé à inclure ce fichier (require_once) dans les fichiers ou tu as besoin de requêtes sql.
<?php // Variables de connexion à la bdd $host = 'localhost'; // Adresse IP de ta bdd, par défaut localhost ou 127.0.0.1 $user = 'root'; // Nom d'utilisateur de connexion à MySQL // par défaut root $passwd = ''; // Mot de passe de connexion, par défaut aucun $bdd = 'ta_bdd'; // Le nom que tu as donné à ta base de données // Connexion au serveur mysql_connect($host, $user,$passwd) OR DIE('Erreur de connexion au serveur: ' . mysql_error()); // Connexion à la Database mysql_select_db($bdd) or die('Erreur de connexion a la base de données: ' . mysql_error()); // Ta requête $req = 'SELECT * FROM nom_de_la_table WHERE nom_du_champString = \'' . $taVariableTexte . '\' AND nom_du_champInt = ' . $taVariableNombre; mysql_query($req) OR DIE('Erreur MySQL dans la requête SELECT * FROM nom_de_la_table WHERE nom_du_champ = ' . $taVariable . ': ' . mysql_error())
Les simples quotes font gagné du temps. Pour ta requête avec la date tu devrais avoir:
$req = 'SELECT nom_beneficiaire FROM encours, beneficiaire WHERE encours.clé_primaire = beneficiaire.clé_étrangère AND encours.periode= = \'' . $periode . '\''
Si tu t'en sens l'occasion, met tes variables de connexion et la connexion serveur et bdd dans un fichier à part (exemple: bd.php), il faudra pensé à inclure ce fichier (require_once) dans les fichiers ou tu as besoin de requêtes sql.
2 sept. 2008 à 11:46