Diskuze: Chyba Db wrapperu
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 12 zpráv z 12.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Zkontroluj, co si vraci to self::$connection->prepare($query);. Predpokladam, ze to pouziva PDO a pokud se nepodari pripravit prepared statements, tak to vrati FALSE, nad kterym nemuzes zavolat Execute.
Problem asi bude v tom dotazu, nechybej ti tam uvozovky v sekci WHERE?
Na první pohled bych řekl že v tom WHERE vadí ta mezera u "nakladni automobily" jelikož není v uvozovkách nic...
co třeba to přidat do proměnných a ty vložit do příkazu?
Kod by mohl vypadat takto. Je docela pozdě tak jsem se mohl i někde seknout
$kategorie = "automobily";
$upresneni = "nakladni automobily";
$inzeraty = Db::queryAll('
SELECT *
FROM inzeraty
WHERE kategorie=? AND upresneni=?
ORDER BY inzeraty_id DESC
', $kategorie, $upresneni);
...
Souhlasím s d4rkw34v3r, zkus:
WHERE kategorie="automobily" AND upresneni="nakladni automobily"
Ale lépe je to navazovat mimo dotaz samotný tedy:
WHERE kategorie=? AND upresneni=?
bindValue(1, 'automobily');
bindValue(2, 'nakladni automobily');
Pokud u toho nebude uživatelský vstup tak to, ale nemusíš hrotit. já
jenom aby jsi věděl popřípadě do budoucna..
Ani po přidání uvozovek to nejde - stále to háže stejný error...
Tak použij radu Neaktivní uživatel, to by mělo problém vyřešit.
Vyzkouším u pc. Ještě je možné, že mám chybu v php bloku v těle stránky.
Máš chybu v tom dotazu, nepodaří se ho ani přeložit.
pořád mi to nefunguje, ani podle Neaktivní uživatel , přitom si myslím, že to je docela pochopitelně udělané a že by to mělo jít..
Nemůže to být něco s tím ORDER BY? Protože když odstraním tuhle část, tak to již vypíše správně to, co má..
Já neznám tvůj datový model, si ten dotaz spusť v PhpMyAdmin.
Zobrazeno 12 zpráv z 12.