abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 23:22 | Zajímavý software

    BreadboardOS je firmware pro Raspberry Pi Pico (RP2040) umožňující s tímto MCU komunikovat pomocí řádkového rozhraní (CLI). Využívá FreeRTOS a Microshell.

    Ladislav Hagara | Komentářů: 0
    včera 16:55 | Nová verze

    Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 24.05. Přehled novinek i s náhledy a videi v oficiálním oznámení. Do balíku se dostalo 5 nových aplikací: Audex, Accessibility Inspector, Francis, Kalm a Skladnik.

    Ladislav Hagara | Komentářů: 1
    včera 12:55 | Nová verze

    Byla vydána (𝕏) nová verze 18.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    22.5. 23:44 | Pozvánky

    V neděli 26. května lze navštívit Maker Faire Rychnov nad Kněžnou, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    22.5. 16:33 | Nová verze

    Byla vydána nová stabilní verze 3.20.0, tj. první z nové řady 3.20, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou počáteční podporu 64bitové architektury RISC-V.

    Ladislav Hagara | Komentářů: 0
    22.5. 14:11 | IT novinky

    Společnost Jolla na akci s názvem Jolla Love Day 2 - The Jolla comeback představila telefon se Sailfish OS 5.0 Jolla Community Phone (ve spolupráci se společností Reeder) a počítač Jolla Mind2 Community Edition AI Computer.

    Ladislav Hagara | Komentářů: 5
    22.5. 12:33 | Nová verze

    LibreOffice 24.8 bude vydán jako finální v srpnu 2024, přičemž LibreOffice 24.8 Alpha1 je první předběžnou verzí od začátku vývoje verze 24.8 v prosinci 2023. Od té doby bylo do úložiště kódu odesláno 4448 commitů a více než 667 chyb bylo v Bugzille nastaveno jako opravené. Nové funkce obsažené v této verzi LibreOffice najdete v poznámkách k vydání.

    ZCR | Komentářů: 0
    21.5. 23:33 | Nová verze

    Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 141 (pdf) a HackSpace 78 (pdf).

    Ladislav Hagara | Komentářů: 0
    21.5. 21:22 | Nová verze

    Byla vydána verze 2.0.0 programovacího jazyka Kotlin (Wikipedie, GitHub). Oficiálně bude představena ve čtvrtek na konferenci KotlinConf 2024 v Kodani. Livestream bude možné sledovat na YouTube.

    Ladislav Hagara | Komentářů: 2
    21.5. 12:55 | Nová verze

    Byla vydána nová major verze 27.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (82%)
     (4%)
     (7%)
     (7%)
    Celkem 517 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    Rozcestník

    Dotaz: MySQL query z PHP

    8.8.2010 22:00 cross
    MySQL query z PHP
    Přečteno: 1644×
    Ahojte, v PHP skripte mam toto:
    mysql_query("SELECT * FROM abcd WHERE hkg='$cat' AND time<='".time() ."' ORDER BY date DESC LIMIT $a,$b");
    Ked tuto poziadavku v skripte prevediem:
    Unknown column 'bla' in 'where clause'
    Kde bla je vlastne $cat v skripte. Ak si necham celu poziadavku vypisat cez echo a nasledne skopirujem do mysql natvrdo, tak prikaz funguje. Neviete kde mam chybu?

    Dik.

    Odpovědi

    8.8.2010 22:27 chrono
    Rozbalit Rozbalit vše Re: MySQL query z PHP
    Je zvláštne, že ti píše túto chybu aj keď máš okolo tej premennej $cat apostrofy.
    8.8.2010 23:50 fraxinus | skóre: 20 | blog: fraxinus
    Rozbalit Rozbalit vše Re: MySQL query z PHP
    $s = "SELECT * FROM abcd WHERE hkg='$cat' AND time<='".time() ."' ORDER BY date DESC LIMIT $a,$b";
    echo "Idem pustit: ".htmlspecialchars($s);
    mysql_query($s);
    
    Co to vypise?
    9.8.2010 09:12 cross
    Rozbalit Rozbalit vše Re: MySQL query z PHP
    Idem pustit: SELECT * FROM abc WHERE hkg='bla' AND time<='1281338071' ORDER BY date DESC LIMIT 0,5 
    Unknown column 'bla' in 'where clause'
    9.8.2010 11:28 volvox | skóre: 16
    Rozbalit Rozbalit vše Re: MySQL query z PHP
    Evidentně je problém v těch apostrofech, proto chtěl chtěl předřečník abyste výpis zkopíroval, ne přepsal ručně(viz chybějící 'd' v názvu tabulky).

    A jak už bylo zmíněno, tento způsob zápisu SQL dotazů je náchylný SQL Injection. Použijte raději rozšíření PDO a zabijete tak dvě mouchy jednou ranou. Viz třeba příklad u PDOStatement->execute
    okbob avatar 9.8.2010 05:16 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: MySQL query z PHP
    Předpokládám, že se teprve PHP učíte - tak si ještě přečtěte něco o SQL injection. Máte tam parádní díru. Možná, když si to opravíte, tak to začne fungovat.
    9.8.2010 09:13 cross
    Rozbalit Rozbalit vše Re: MySQL query z PHP
    Mozem vediet, kde ta chyba je?
    okbob avatar 9.8.2010 10:58 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: MySQL query z PHP
    WHERE sloupec='$cat' ..

    Tam byste měl explicitně použít funkci mysql_real_escape_string - viz např. http://php.net/manual/en/function.mysql-real-escape-string.php a dost možná máte problém s magic quotes.
    Jendа avatar 9.8.2010 15:09 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: MySQL query z PHP
    Nemusí tam být nutně injection, třeba si obsah proměnné cat generuje nějakým switchem uvnitř programu. Ale ano, už se mi to jednou taky „povedlo“ - nejdřív jsem to generoval switchem, ale pak jsem doimplementoval funkci, která to umožnila explicitně zadat a na ošetření už jsem zapomněl. Takže ano, je lepší ošetřovat vždy.
    okbob avatar 10.8.2010 07:03 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: MySQL query z PHP
    No právě :)

    Stačí jedna pozapomenutá substituce a vzhledem ke komplexnosti programu máte problém. Takže je dobré se tento zápis úplně odnaučit (případně pokud možno neučit).
    9.8.2010 10:07 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: MySQL query z PHP
    Tuto chybu můžete vidět, pokud místo:
    "SELECT * FROM `abcd` WHERE `hkg`='$cat' AND `time`<='" . time() ."' ORDER BY date DESC LIMIT $a,$b"
    máte:
    "SELECT * FROM `abcd` WHERE `hkg`=`$cat` AND `time`<='" . time() ."' ORDER BY date DESC LIMIT $a,$b"
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    9.8.2010 10:31 cross
    Rozbalit Rozbalit vše Re: MySQL query z PHP
    Bohuzial, ani tato rada mi nepomaha. Fakt neviem, kde moze byt chyba :( Dakujem
    9.8.2010 11:11 chrono
    Rozbalit Rozbalit vše Re: MySQL query z PHP
    Vlož sem ako prílohu ten riadok s query a ten, v ktorom nastavuješ tú premennú, ako textový súbor (lebo podľa toho, čo píšeš to vyzerá normálne).
    9.8.2010 12:55 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: MySQL query z PHP
    Dejte sem kus toho kódu, ale opravdu zkopírovaný a ne přepsaný - klidně jako přílohu.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    10.8.2010 10:52 cross
    Rozbalit Rozbalit vše Re: MySQL query z PHP
    Ospravedlnujem sa. Islo o inu query, ktora bola niekolko riadkov pod tou, co som si mysel, ze robi problemy.

    Ohladom sql injekcie, dane vstupy osetrujem, ked som daval kod sem, tak som to povazoval za nepotrebne.

    Dakujem :)

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.