Mysql_query

Fermé
Patatoui5 - 10 avril 2015 à 10:16
 Patatoui5 - 10 avril 2015 à 23:30
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 ?

<?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 :

<?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']; 
}
?>
1
Génial merci, d'ailleurs la table je voulais savoir, je la referme avant ou après l'accolade? Mais si non il y avait deja un problème bien plus haut :
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..
0
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 228 > Patatoui5
10 avril 2015 à 19:56
Justement, pourquoi n'utilises-tu pas PDO?
0
C'est un projet de classe, et ma prof ne connait pas PDO donc elle veut pas qu'on l'utilise, elle veut qu'on cherche à utiliser mysql --'
0
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 228 > Patatoui5
Modifié par gravgun le 10/04/2015 à 20:56
Fais-lui lire mon article sur l'obsolescence de l'extension MySQL ;)
Et a défaut de PDO, mysqli ressemble très fortement à l'API
mysql_*
mais dispose des avancées que PDO propose, dont les requêtes préparées.
0
Article très interessant! Mais disons qu'elle m'a un peu en grippe en ce moment, et en sachant qu'elle me met 12 points sur 20 dans mon épreuve pratique coef 6 au bac, je vais essayer de ne pas trop jouer l'insolente ^^
0