Zadejte hledaný výraz...

SELECT/hledání v databázi – chybný dotaz?

Z@x
verified
rating uzivatele
(7 hodnocení)
26. 1. 2009 12:49:03
Po zadání dotazu k prohledání databáze se mi nevypíšou pouze ty řádky, v kterých je obsaženo hledané slovo, nýbrž všechny řádky z tabulky ... nevíte někdo kde dělám chybu ?
$vyraz = strip_tags($vyraz);
include('header.php');
?>
Titulek
include('leve.php');
include('config.php');
if (IsSet($_POST))
{
$podle = $_POST;
$jak = $_POST;
$vysledek = mysql_query("SELECT * FROM mp3 WHERE interpret LIKE '%$vyraz%' || skladba LIKE '%$vyraz%' ORDER BY $podle$jak");
} else $vysledek = mysql_query("SELECT * FROM mp3 WHERE interpret LIKE '%$vyraz%' || skladba LIKE '%$vyraz%'");
$pocet = mysql_num_rows($vysledek);
echo "Nalezeno $pocet výsledků";
?>
Hledaný výraz:
Prohledávat: Interprety
Skladby
Alba
Seřadit podle:

while($mp3 = MySQL_Fetch_Array($vysledek))
{
$interpret = strtr($mp3, ' ', '-');
$skladba = strtr($mp3, ' ', '-');
include('soubory.php');
}
include('prave.php');
?>
26. 1. 2009 12:49:03
https://webtrh.cz/diskuse/select-hledani-v-databazi-chybny-dotaz/#reply218170
nieco taketo tam nechyba:
$vyraz = $_POST;
?ak to nemas v tych includoch.
26. 1. 2009 12:56:30
https://webtrh.cz/diskuse/select-hledani-v-databazi-chybny-dotaz/#reply218169
xivo
verified
rating uzivatele
26. 1. 2009 13:00:27
Limitom to neobmedzujes, skus to pouzatvorkovat, uvidis co to da
Inac odporucam pouzivat Prepared Statements namiesto tychto krkolomnych zapisov ..a aj z hladiska bezpecnosti ...
26. 1. 2009 13:00:27
https://webtrh.cz/diskuse/select-hledani-v-databazi-chybny-dotaz/#reply218168
Z@x
verified
rating uzivatele
(7 hodnocení)
26. 1. 2009 14:15:56
Napsal Unregistered;198179
nieco taketo tam nechyba:
$vyraz = $_POST;
?ak to nemas v tych includoch.
Díky moc za nakopnutí, jsem já to ale slepýš :D ... hledání teď tedy funguje jak má, avšak pouze v rámci hledat.php ... potřebuji teď toto hledaní výrazu volat z jiné stránky (prave.php) a pokud použiju:
....
na page hledat.php mě to to sice hodí, ale místo výsledků odpovídající zadanému výrazu mi to vypíše opět všechny řádky tabulky. Pokud však teď na hledat.php opět znova zadám hledaný výraz, vyhledání proběhne korektně ... chyba tedy bude nejspíš v interpretaci form action ... a volání hledat.php ze sousední prave.php ... Jak tedy udělat, aby se provedl dotaz na selekci z databáze dle zadáneho výrazu ?
26. 1. 2009 14:15:56
https://webtrh.cz/diskuse/select-hledani-v-databazi-chybny-dotaz/#reply218167
Jiří Zachar
verified
rating uzivatele
(4 hodnocení)
26. 1. 2009 14:39:45
Udelej si cely select jako promennou a vypis si co v ni mas obsazene a hned uvidis co a jak funguje.
To je nejjednodussi spusob debugovani.
26. 1. 2009 14:39:45
https://webtrh.cz/diskuse/select-hledani-v-databazi-chybny-dotaz/#reply218166
som rad,ze som ta nakopol :D
podla mna zase bude chyba v tej premennej $vyraz :D kedze ti vracia ten sql dopyt vsetky riadky,tym padom musi byt $vyraz prazdny...
26. 1. 2009 15:16:29
https://webtrh.cz/diskuse/select-hledani-v-databazi-chybny-dotaz/#reply218165
Wosonj
verified
rating uzivatele
(7 hodnocení)
26. 1. 2009 18:11:47
Jeste sem hod odkaz na ostry server, at ti muzeme pres SQL injection smazat celou databazi...
(osetri si ten skript!)
26. 1. 2009 18:11:47
https://webtrh.cz/diskuse/select-hledani-v-databazi-chybny-dotaz/#reply218164
pr0gr4mm3r
verified
rating uzivatele
(4 hodnocení)
26. 1. 2009 18:29:21
Radím ti, že bys sis měl opatřit kód proti útoku zvanému sql injection. Ke každé proměnné, která je uživatelským vstupem dej funkci addslashes, díky tomu ti to někdo tak lehce nenahackuje.
26. 1. 2009 18:29:21
https://webtrh.cz/diskuse/select-hledani-v-databazi-chybny-dotaz/#reply218163
Jiří Zachar
verified
rating uzivatele
(4 hodnocení)
26. 1. 2009 18:39:53
Napsal pr0gr4mm3r;198542
Radím ti, že bys sis měl opatřit kód proti útoku zvanému sql injection. Ke každé proměnné, která je uživatelským vstupem dej funkci addslashes, díky tomu ti to někdo tak lehce nenahackuje.
Treba ma nastaveno magic_quotes_gpc na on. :-)
26. 1. 2009 18:39:53
https://webtrh.cz/diskuse/select-hledani-v-databazi-chybny-dotaz/#reply218162
pr0gr4mm3r
verified
rating uzivatele
(4 hodnocení)
26. 1. 2009 18:48:15
Napsal zaachi;198555
Treba ma nastaveno magic_quotes_gpc na on. :-)
Ale i tak, jistota je jistota, a zdá se mě, že v php6 už magic_quotes nebudou
http://www.php.net/~derick/meeting-notes.html#magic-quotes
26. 1. 2009 18:48:15
https://webtrh.cz/diskuse/select-hledani-v-databazi-chybny-dotaz/#reply218161
xivo
verified
rating uzivatele
26. 1. 2009 19:26:17
Napsal pr0gr4mm3r;198568
Ale i tak, jistota je jistota, a zdá se mě, že v php6 už magic_quotes nebudou
http://www.php.net/~derick/meeting-notes.html#magic-quotes
jj, tak to ma byt ...
na magic_quotes my som sa vobec nespoliehal ... pride mi to velmi nezodpovedne zo strany programatora spoliehat sa na nastavenia serveru.... a preto stale odporucam Prepared Statements :)
26. 1. 2009 19:26:17
https://webtrh.cz/diskuse/select-hledani-v-databazi-chybny-dotaz/#reply218160
Jiří Zachar
verified
rating uzivatele
(4 hodnocení)
26. 1. 2009 20:51:35
Samozrejme ze je potreba to hlidat, ja jsem to uvedl spise jako ironickou poznamku.
Me vzdycky rozesmeje, kdyz nekdo zacne radit cloveku, ktery je schopny napsat napriklad tohle:
echo "$vyraz";
aby si daval pozor na sql injection a podobne.
26. 1. 2009 20:51:35
https://webtrh.cz/diskuse/select-hledani-v-databazi-chybny-dotaz/#reply218159
Pro odpověď se přihlašte.
Přihlásit
Hledaný výraz: