PHP, variable dans une clause WHERE MySql
bivouak
Messages postés
189
Date d'inscription
Statut
Membre
Dernière intervention
-
bety -
bety -
Salut tout le monde !
Voila je débute un peu en PHP.
J'ai fait un petit site pour répertorier des voitures avec un petit moteur de recherche.
J'ai une page HTML avec des <input typre = "text" ... > qui est un formulaire. Sur cette page on choisit la marque du véhicule et cette page appelle une page PHP pour la lecture dans une base Mysql. Le tout est hébergé cher Free.
Ma requête renvoie cette erreur :
erreur req Unknown column 'Renault' in 'where clause'
voila le code :
Voila, lorsque dans la requête je met 'Renault' à la place $marque3 ca marche sans problème.
Si je met '$marque3' ça ne me revoie aucun résultat.
Est ce que j'ai une erreur dans mon code ?
Le champ dans ma base est de type varchar(30).
Merci à tous !
Voila je débute un peu en PHP.
J'ai fait un petit site pour répertorier des voitures avec un petit moteur de recherche.
J'ai une page HTML avec des <input typre = "text" ... > qui est un formulaire. Sur cette page on choisit la marque du véhicule et cette page appelle une page PHP pour la lecture dans une base Mysql. Le tout est hébergé cher Free.
Ma requête renvoie cette erreur :
erreur req Unknown column 'Renault' in 'where clause'
voila le code :
<?php
$marque3 = $_POST['marque2'];
$mysql_host = 'sql.free.fr';
$mysql_user = '*****';
$mysql_password = '*****';
$mysql_base = 'auto';
$db = mysql_connect($mysql_host,$mysql_user,$mysql_password) or die ("erreur de connexion");
mysql_select_db($mysql_base,$db) or die ("erreur de connexion base");
$req = mysql_query("SELECT * FROM auto WHERE marque=$marque3") or die ("erreur req ".mysql_error());
while( $sortie = mysql_fetch_array($req))
{ print ($sortie[marque].' ');
print ($sortie[model].'<br>');
}
Mysql_close();
?>
Voila, lorsque dans la requête je met 'Renault' à la place $marque3 ca marche sans problème.
Si je met '$marque3' ça ne me revoie aucun résultat.
Est ce que j'ai une erreur dans mon code ?
Le champ dans ma base est de type varchar(30).
Merci à tous !
A voir également:
- PHP, variable dans une clause WHERE MySql
- Easy php - Télécharger - Divers Web & Internet
- Where is it - Télécharger - Gestion de fichiers
- Mysql community download - Télécharger - Bases de données
- Expert php pinterest - Télécharger - Langages
- Variable d'environnement temp - Forum Word
8 réponses
Bonjour,
Oui, tu dois seulent modifier le fichier styl.css en y ajoutant le code pour que la première lettre soit une majuscule :).
++
Oui, tu dois seulent modifier le fichier styl.css en y ajoutant le code pour que la première lettre soit une majuscule :).
++
Ah pardon j'avais pas compris ca... lundi matin...
Et ca ?
Sinon :
Et ca ?
$req = mysql_query("SELECT * FROM auto WHERE marque='".$marque3."'") or die ("erreur req ".mysql_error());
Sinon :
$str = "SELECT * FROM auto WHERE marque='$marque3'";
$req = mysql_query($str) or die ("erreur req ".mysql_error());
Essaie
$req = mysql_query("SELECT * FROM auto WHERE marque='$marque3'") or die ("erreur req ".mysql_error());Pour voir...
Salut !
Comme je le dis dans mon message ca ne me renvoie aucun résultat car il cherche $marque3 dans ma base au lieu de la valeur qu'elle contient avec ce code.
Comme je le dis dans mon message ca ne me renvoie aucun résultat car il cherche $marque3 dans ma base au lieu de la valeur qu'elle contient avec ce code.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ok je viens de tester
Le permier ne me renvoie rien alors que ma base est pleine
Le deuxième ne me renvoie rien non plus.
Le permier ne me renvoie rien alors que ma base est pleine
Le deuxième ne me renvoie rien non plus.
Ok c'est bon pas la peine d'aller plus loin !
Je viens de trouver l'erreur.
Dans ma base j'ai mis les nom des marques en Varchar(30) avec la 1ère lettre en majuscule, comme sur ma page HTML de mon formulaire.
Je viens de remplacer la majuscule par un minuscule et ca marche impec.
Seulement la majuscule a disparu lors de l'affichage du résultat.
Est ce qu'il est possible de remplacer l'Interclassement ou le type pour conserver cette majuscule ?
Merci de ton aide, c'est sympa de ta part
Je viens de trouver l'erreur.
Dans ma base j'ai mis les nom des marques en Varchar(30) avec la 1ère lettre en majuscule, comme sur ma page HTML de mon formulaire.
Je viens de remplacer la majuscule par un minuscule et ca marche impec.
Seulement la majuscule a disparu lors de l'affichage du résultat.
Est ce qu'il est possible de remplacer l'Interclassement ou le type pour conserver cette majuscule ?
Merci de ton aide, c'est sympa de ta part
Bon le topic est une peu vieux mais voici ce que moi j'ai fait pour intégrer des variables dans une requette sql (Base MySql5 et PHP5)
Pour info cette base est en local donc aucun risque, pour ça que Userdb = root et Passdb = 'rien' :D
Pour ceux qui connaisse, cette structure est très très fortement inspiré des cours PHP,pages "7 - Manipulation de données", du site développez.com (j'ai commencé le PHP la semaine dernière :P)
<?php
$Compagnie = $_GET['Compagnie'];
$Table = "listes";
$Collone = "Jours, Total_Messages, Total_Messages_Size, Warning_Threshold, Prohibit_Send_Threshold, Prohibit_Receive_Threshold, Above_Below_Warning_Threshold, FirstName, LastName";
$Orderby = "LastName";
if (empty($Compagnie))
{
$sql = "SELECT $Collone FROM $Table Order By $Orderby";
$Compagnie = "TOUTES";
}
else
{
$Where = "WHERE Company = '$Compagnie'";
$sql = "SELECT $Collone FROM $Table $Where Order By $Orderby";
}
$db = new PDO('mysql:host=localhost;dbname=liste_quotat', 'root', '');
$select_messages = $db->prepare($sql);
$select_messages->setFetchMode(PDO::FETCH_ASSOC);
$select_messages->execute();
echo "Utilisateurs de la compagnie : ".$Compagnie.'<BR>'.'<BR>'.'<BR>';
foreach($select_messages->fetchAll() as $i => $message)
{
echo $i." - ".$message['LastName']." ".$message['FirstName'];
}
?>
Pour info cette base est en local donc aucun risque, pour ça que Userdb = root et Passdb = 'rien' :D
Pour ceux qui connaisse, cette structure est très très fortement inspiré des cours PHP,pages "7 - Manipulation de données", du site développez.com (j'ai commencé le PHP la semaine dernière :P)