Bonjour,
Je suis novice en php, disons que j'ai étudié ce code il y a 4 ans et que je n'y ai plus retouché jusqu'à très récemment.
Je suis en train de mettre au point un petit moteur de recherche interne sur le thème d'une agence immobilière. Je formulaire marche impeccable, seulement mon fichier php possède un bug que je désirerais tout naturellement corriger.
Alors tout d'abord voici mon code (basé seulement à partir de deux requêtes du formulaire, je compliquerai la chose une fois que j'aurai compris comment ça marche) :
Alors voici mon code :
Lorsque je sélectionne dans mon formulaire quelque chose dans le champ "commune", voilà l'erreur qui m'est affichée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 <?php mysql_connect("localhost", "root", ""); mysql_select_db("locatif"); // Sélection de la base // Connexion à la BDD ici ! // Récupération des données de piece if (isset($_POST['piece']) && $_POST['piece'] != "no") { $piece = " AND piece = ".mysql_real_escape_string($_POST['piece']); } else { $piece = ""; } // Récupération des données de commune if (isset($_POST[commune]) && $_POST[commune] != "no") { $commune = " AND commune LIKE '%".mysql_real_escape_string($_POST['commune']."%'"); } else { $commune = ""; } // Création de la requête SQL $select = "SELECT * FROM maisons WHERE 1".$piece.$commune." ORDER BY id"; // Exécution de la requête $raw = mysql_query($select) or die(mysql_error()); ?> <table> <tr align='center'> <td colspan='3'>Vos resultats</td> </tr> <tr> <td>Pieces</td> <td>Commune</td> </tr> <?php // Affichage des données while ($data = mysql_fetch_array($raw)) { print (" <tr> <td>".$data['piece']."</td> <td>".$data['commune']."</td> <tr> "); } // Fermeture connexion mysql_close(); ?> </table> ?>
Manifestement, il s'agit simplement d'une erreur de syntaxe des ' en trop, peut-être des / à rajouter, bref, je patauge. Pour info, j'utilise wamp 2.0You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%paris% ORDER BY id' at line 1
Merci d'avance aux âmes charitables,
L.C.
Partager