J'ai cette requête mysql en PHP et la première partie fonctionne très bien, mais la seconde partie où la fonction de recherche sur le site ne peut tout simplement pas faire fonctionner correctement. est ici code exact:la fonction de recherche ne fonctionne pas dans ma requête MySQL PHP
<?
$qry = "
SELECT bidprice,timelive,match_title,
CASE
WHEN game.result LIKE '' THEN 'PENDING'
WHEN game.result LIKE 1 THEN 'WON'
END AS result
FROM game
ORDER BY timelive DESC
";
$searchText = "";
if($_REQUEST['search_text']!=""){
$searchText = $_REQUEST['search_text'];
$qry .=" WHERE game.bidprice LIKE '%$searchText%' OR game.timelive LIKE '%$searchText%'";
}
//for pagination
$starting=0;
$recpage = 10;//number of records per page
$obj = new pagination_class($qry,$starting,$recpage);
$result = $obj->result;
?>
Donc cette partie du code à partir de code ci-dessus qui envisage de chercher ma table « jeu » ne fonctionne pas:
$searchText = "";
if($_REQUEST['search_text']!=""){
$searchText = $_REQUEST['search_text'];
$qry .=" WHERE game.bidprice LIKE '%$searchText%' OR game.timelive LIKE '%$searchText%'";
Sur ma page, je reçois cette erreur lorsqu'elle est ouverte cette page et essayer de chercher mot « football »:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'game.bidprice like '%football%' OR game.timelive like '%football%' at line 9
cette fonction de recherche fonctionne bien quand mettre un peu d'instruction SELECT quelque chose de simple comme: SELECT * FROM jeu mais lorsque vous avez terminé les requêtes plus complexes de sélection avec CASE et QUAND les déclarations que je besoin de son ne fonctionne pas ...
S'il vous plaît me aider avec le code approprié pour la fonction de recherche appropriée
Votre code est vulnérable à l'injection SQL. S'il vous plaît utilisez '$ searchText = mysql_real_escape_string ($ _ REQUEST ['search_text']);' –