Mysql_query
Patatoui5
-
Patatoui5 -
Patatoui5 -
Bonjour,
Voilà je bosse sur un projet en cours pour la création d'un site, je veux faire une sorte de petit moteur de recherche et notre prof veut absolument qu'on utilise mysql plutôt que PDO ou mysqli. Le soucis c'est qu'il n'y a plus trop de cours sur le net qui utilisent mysql. Donc voilà mon code, est ce que vous pouvez me dire ce qui ne marche pas? Je pense que c'est par rapport à la concaténation des variables mais je ne trouve pas comment faire, bref aidez moi ?
Voilà je bosse sur un projet en cours pour la création d'un site, je veux faire une sorte de petit moteur de recherche et notre prof veut absolument qu'on utilise mysql plutôt que PDO ou mysqli. Le soucis c'est qu'il n'y a plus trop de cours sur le net qui utilisent mysql. Donc voilà mon code, est ce que vous pouvez me dire ce qui ne marche pas? Je pense que c'est par rapport à la concaténation des variables mais je ne trouve pas comment faire, bref aidez moi ?
<?php
ini_set('display_errors','off');
$meuble=$_POST['meuble'];
$prixmax=$_POST['prixmax'];
$prixmin=$_POST['prixmin'];
$connexion=mysql_connect("mysql.hostinger.fr","u96","sig") or die('erreur connexion mysql');
$db=mysql_select_db("u96", $connexion) or die ('erreur base de données');
$req=("SELECT * FROM Meuble WHERE categorie="'.$meuble.'" AND Prix BETWEEN "'.$prixmin.'" AND "'.$prixmax.'";");
mysql_query($req) or die ("requete sql incorrecte");
while ($donnees = $req->mysql_fetch_array())
{
?>
<table>
<tr><td><?php echo $donnees['Image']; ?></td><td><?php echo $donnees['Nommeuble']; ?></td><td><?php echo $donnees['Prix']; ?></td></tr>
<?php
}
?>
</table>
</html>
1 réponse
il y a plusieurs choses qui vont pas dans ton code.
Quand tu fais :
while ($donnees = $req->mysql_fetch_array())
=> ca peut pas marcher ... C'est quoi $req ??? Une chaine de caractère qui contient ta requête SQL.
Pour obtenir le résultat de ta requête SQL tu dois faire :
Quand tu fais :
while ($donnees = $req->mysql_fetch_array())
=> ca peut pas marcher ... C'est quoi $req ??? Une chaine de caractère qui contient ta requête SQL.
Pour obtenir le résultat de ta requête SQL tu dois faire :
<?php
$connexion=mysql_connect("mysql.hostinger.fr","u96","sig") or die('erreur connexion mysql');
$db=mysql_select_db("u96", $connexion) or die ('erreur base de données');
$req=("SELECT * FROM Meuble WHERE categorie="'.$meuble.'" AND Prix BETWEEN "'.$prixmin.'" AND "'.$prixmax.'";");
// la ca va changer :
$resultat = mysql_query($req) or die ("requete sql incorrecte");
/*
la c'est pas le $req que tu prends
mais le $resultat qui est le résultat de ta requête
*/
while ($donnees = mysql_fetch_array($resultat))
{
/* la tu fais la mise en page
que tu veux mais évite de faire
des table que tu refermes pas ;)
*/
echo $donnees['Image'];
echo $donnees['Nommeuble'];
echo $donnees['Prix'];
}
?>
Parse error: syntax error, unexpected ''.$meuble.'' (T_CONSTANT_ENCAPSED_STRING) in....
Avec PDO j'aurais préparer la requete puis executer avec un array mais là je ne sais pas si ça marche pareil avec mysql..
Et a défaut de PDO, mysqli ressemble très fortement à l'API mais dispose des avancées que PDO propose, dont les requêtes préparées.