[RESOLU] utilisation e LIKE

Eléphant du PHP | 166 Messages

22 févr. 2017, 00:27

Bonjour
J'ai ce bout de code :

Code : Tout sélectionner

<body> <?php // 1. connection à la base $mysqli = new mysqli('localhost', 'root', '', 'projet_villes'); // récupération de la variable if(isset($_POST['ville_nom'])) { $ville_nom = $_POST['ville_nom'];} // vérifier si la ville existe SELECT ville_nom FROM villes WHERE ville_nom LIKE .$ville_nom ?> <!-- chercher une ville --> <div id="cadre1"> <h1>Chercher une ville</h1> <form method="post"> <p>Nom de la ville : <input type="text" name="ville_nom" /></p> <p><input type="submit" value="valider" /></p> </form> </div> </body>
Explication: avec un formulaire, l'internaute rentre un nom de ville ex :paris. il valide. Ensuite je compare dans dans ma BDD si cette ville existe etc...Je bloque là. C'est à dire, que je veux utiliser LIKE pour comparer dans une BDD la vile que rentre l'internaute. J'ai un code erreur :
Parse error: syntax error, unexpected 'ville_nom' (T_STRING) in

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

22 févr. 2017, 10:19

salut,

a priori tu ne sais pas comment faire accéder à une base mysql avec php ? (au vu du code qui n'est pas syntaxiquement correct point de vue php).
voici un tuto qui devrait t'aider : faq-tutoriels/passer-mysql-mysqli-pdo-t276282.html

pour la syntaxe sql je t'invite à utiliser la fonction sql lower sur le champ ainsi que la valeur chercher (évite les problèmes de casse) et d'utiliser les joker %, sinon n'utilise pas like utilise directement le égale ( par exemple like '%paris%').

@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 166 Messages

23 févr. 2017, 19:10

bonjour
j'ai modifié mon code :

Code : Tout sélectionner

<?php // 1. connection à la base $mysqli = new mysqli('localhost', 'root', '', 'projet_villes'); // récupération de la variable if(isset($_POST['ville_nom'])) { $ville_nom = $_POST['ville_nom']; // vérifier si la ville existe $result = $mysqli->query ('SELECT ville_id,ville_nom FROM villes WHERE ville_nom LIKE '.$ville_nom); $row = $result->fetch_array(); // 5. Affichage $nom = $row['ville_nom']; } ?>
maintenant cela me mais une erreur : Fatal error: Call to a member function fetch_array() on boolean

Mammouth du PHP | 2703 Messages

23 févr. 2017, 20:12

en executant cette requete dans phpmyadmin
SELECT ville_id,ville_nom FROM villes WHERE ville_nom LIKE paris
cela va dire que la requete est invalide. il faudra alors chercher la bonne syntaxe d'utilisation du like, dans ce fil de discussion par exemple.

Eléphant du PHP | 166 Messages

25 févr. 2017, 10:16

vue! Merci