Szöveg keresés SQL-ből beolvasott táblában

Szöveg keresés SQL-ből beolvasott táblában
2018-05-21T00:02:07+02:00
2018-05-21T11:45:54+02:00
2022-10-15T21:26:41+02:00
kissviri1998
Van egy táblám amit SQL-ből olvasok be. Ha beolvasásnál nem rendezem sorba az adatokat, a kereső funkció hibátlanul működik. Amint sorba rendezem az adatokat hibát dob ki. Mit tehetnék?

<?php $querySelect = "SELECT id_betegseg, nev, tunetek, lefolyas, fertozo FROM betegseg "; if ($search) { $querySelect = $querySelect . sprintf(" where(nev) LIKE '%%%s%%'", mysqli_real_escape_string($link, strtolower($search))); } $eredmeny = mysqli_query($link, $querySelect) or die(mysqli_error($link)); ?>


rendezés után

<?php $querySelect = "SELECT id_betegseg, nev, tunetek, lefolyas, fertozo FROM betegseg "; if ($search) { $querySelect = $querySelect . sprintf(" where(nev) LIKE '%%%s%%'", mysqli_real_escape_string($link, strtolower($search))); } $eredmeny = mysqli_query($link, $querySelect) or die(mysqli_error($link)); ?>

hibaüzenet

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'where(nev) LIKE '%h%'' at line 2
Mutasd a teljes hozzászólást!
Hali!

Mit tehetnék?

Legelőször is: két, teljesen ugyanolyan kódrészletet mellékeltél. Ha az első működik, a másodiknak is működnie kell.

Egyébként az lehet a gond, hogy az ORDER BY kitételt előbb rakod be az SQL-mondatba, mint a WHERE-t Így csináld:
$querySelect = "SELECT `id_betegseg`, `nev`, `tunetek`, `lefolyas`, `fertozo` FROM `betegseg`"; if ($search) { $querySelect .= sprintf( " WHERE `nev` LIKE '%%%s%%'", mysqli_real_escape_string($link, strtolower($search)) ); } $querySelect .= " ORDER BY ..."; // Persze, ide a megfelelő rendezési szabályokat írd $eredmeny = mysqli_query($link, $querySelect) or die(mysqli_error($link));
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd