Vous n'êtes pas identifié(e).
Bonjour à tous,
J'essaye de récupérer des données d'un champ saisi en amont qui s'appelle "query"
J'ai une table cont_tbl AVEC id, date, contenu1, contenu2, contenu3 et je veux afficher les résultats de la colonne contenu1
j'utilise la fonction LIKE mais ça ne marche pas; Error: SELECT * FROM cont_tbl WHERE contenu1 LIKE 'synergie%'
J'ai l'impression que c'est une erreur de syntaxe vers LIKE ...
J'ai pourtant essayé LIKE $contenu, LIKE '$contenu', LIKE "$contenu" , LIKE "'$contenu'", LIKE ."'$contenu'". etc ...
j'ai aussi essayé contenu1 = $contenu, etc ...
Rien ne marche ...
Quand je tape par exemple synergie dans le formulaire en amont, je récupère bien $contenu qui est : synergie.
mais quand le prog. compare contenu1 ( dont je sais qu'il contient le mot synergie ) avec $contenu ( qui a la valeur synergie)
Je n'ai aucun résultat!
Avec like y-a-t-il une différence entre majuscules et minuscules ?
En vous remerciant pour votre collaboration.
Voici le code de la page index.php
<form action="affichage.php" method="post">
<label for="query">Entrez votre recherche : </label>
<input type="search" name="query" maxlength="60" size="60" id="query"><br/>
<input type="submit" value="Rechercher">
</form>
Voici le code de la page afficher .php
<?php
include ("../css.php");
include ("../connect.php");
?>
<?php
$contenu = $_POST["query"];
echo "recherche saisie : $contenu<br/>";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM cont_tbl WHERE contenu1 LIKE '$contenu' ";
if ($conn->query($sql) === TRUE) {
echo "<h2>Affichage des résultats : %<br></h2>";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
?>
Hors ligne
extrait de la doc :
Pour les requêtes du type SELECT, SHOW, DESCRIBE, EXPLAIN et les autres requêtes retournant un jeu de résultats, mysql_query() retournera une ressource en cas de succès, ou FALSE en cas d'erreur.
donc, y a certainement pas d'erreur, sauf que mysql_query ne retourne pas TRUE mais une ressource
a++
Hors ligne
Je te remercie pour ta réponse ...
mais je ne vois toujours pas comment on compare un résultat de formulaire et un enregistrement dans la table,
sans passer par SELECT WHERE ... LIKE
La ressource devrait être le résultat qui compare les deux données.
Y-aurait-il une autre méthode ?
Je vous remercie ...
Hors ligne
c'est ça qui n'est pas bon
if ($conn->query($sql) === TRUE) {
$conn->query($sql) ne renvoie pas TRUE en cas de success
a++
Hors ligne
fait le plus simplement possible
$sql = "SELECT contenu1 FROM cont_tbl
et tu laffiche
Hors ligne
desole je ne navais pas ft attention a la recherche C'est pierrot qui a raison
Hors ligne
il a pas compris non plus
pourtant, c'est lui qui a besoin de comprendre
a++
Hors ligne