Portál AbcLinuxu, 8. května 2025 18:12

Dotaz: SQL syntax error

22.1.2014 11:14 UniqueNick
SQL syntax error
Přečteno: 735×
Odpovědět | Admin

Dobrý den,

mám od včerejška problém, s dotazem do MySQL databáze. Jednou to už fungovalo za podmínek, že místo $_SESSION['variable'] byly obyčejné proměnné, nastala potřeba hodnoty uchovat i po opětovném odeslání formuláře, tak jsem nastartoval session a předělal jsem proměnné na $_SESSION['type'].

Ale v html-source flásí chybu: 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 '''' at line 1

Už jsem zkusil snad tisíc možných kombinací uvozovek a všeho možného, nikdy jsem s tím neměl problém a ani mě to už nebaví řešit, můžete se na to prosím někdo podívat v čem by mohla být závada? Děkuji

 

if ($_SESSION["main_opt"] != "" && $_SESSION["type"] !== "null") { $sql="SELECT * FROM '" . $_SESSION['type'] . "' WHERE kategorie ='" . $kategorie . "'"; $query = mysql_query($sql) or die(mysql_error()); while ($row = mysql_fetch_array($query)) { $sql="SELECT * FROM '" . $_SESSION['type'] . "' WHERE kategorie ='" . $kategorie . "' AND znacka ='" . $row[znacka] . "'"; $count_ids = mysql_query($sql) or die(mysql_error()); $radku = mysql_num_rows($count_ids); echo ''.$row["znacka"].' '.'(' . $radku . ')' . ''; } } elseif ($_SESSION["type"] !== "null") { $sql="SELECT * FROM '" . $_SESSION['type'] . "'"; $query = mysql_query($sql) or die(mysql_error()); while ($row = mysql_fetch_array($query)) { $sql="SELECT * FROM '" . $_SESSION['type'] . "' WHERE znacka ='" . $row[znacka] . "'"; $count_ids = mysql_query($sql) or die(mysql_error()); $radku = mysql_num_rows($count_ids); echo ''.$row["znacka"].' '.'(' . $radku . ')' . ''; } } else { echo 'vyberte druh'; }
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

22.1.2014 11:22 veprova hlava
Rozbalit Rozbalit vše Re: SQL syntax error
Odpovědět | | Sbalit | Link | Blokovat | Admin
doufam, ze nejsi programator ani se o programovani nezajimas, kdyz sem pises takove dotazy.

kdyz ladis SQL syntax error, tak prvni krok je odchytit, co tam vlastne posilas za SQL dotaz.

'" . $_SESSION['type'] . "'

nazev tabulek se neuzavira do apostrofu.
22.1.2014 11:24 veprova hlava
Rozbalit Rozbalit vše Re: SQL syntax error
navic ta $_SESSION['type'] je patrne prazdna, pridej si tam condition && $_SESSION['type'], at se dotaz neprovede vubec, anebo ji napln spravnymi daty.
23.1.2014 00:48 UniqueNick
Rozbalit Rozbalit vše Re: SQL syntax error
Teda když si už tykáme vepřová hlavo, promiň jestli tě můj dotaz pohoršil, nebo ti připadal bezpředmětný.

Ale pokud si tak inteligentní, jak měla asi vyznít tvoje reakce, měl by sis jít ladit ego někam jinam než na "programovací poradnu".

Nikde jsem se nedočetl, že podat zde dotaz je omezené pouze na skupiny se stejnými odbornými zkušenostmi, a pokud ano -> můžeš na to zkusit vymyslet metr, nebo stačí reagovat dospěle a ne jako "retard".

Nicméně vřelé díky za tvé názory a poučky :D

Jendа avatar 22.1.2014 12:47 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: SQL syntax error
Odpovědět | | Sbalit | Link | Blokovat | Admin
Začni výpisem echo $sql před každým dotazem. Teď ani nevíš, na kterém dotazu to crashlo.

Btw. doufám, že proměnné jako $kategorie bereš z důvěryhodného zdroje, tedy zejména ne od náhodného hejhuly, který ti přišel na web.
22.1.2014 13:44 logik
Rozbalit Rozbalit vše Re: SQL syntax error
Odpovědět | | Sbalit | Link | Blokovat | Admin
Navíc, sice je to mimo, ale uchovávat takhle věci v session je dost nešikovné.

Např. když Ti uživatel otevře aplikaci ve dvou oknech a v každém bude dělat něco jinýho, tak se ti to celý rozpadne. Veškeré informace potřebné k dalším kroku posílej zkrz formulář, nebo, pokud jde o věci, které by uživatel neměl měnit, tak je můžeš uložit do session (či databáze), ale posílej si formulářem nějaký unikátní "klíč", kterým to v sessně/db najdeš,

Další věc, nevkládej hodnoty přímo do SQL, ale používej nějakej DB framework, kterej používá vkládání parametrů do dotazu (např. PDO)
23.1.2014 00:35 UniqueNick
Rozbalit Rozbalit vše Re: SQL syntax error
Děkuji za upozornění, delší dobu jsem se věnoval trochu jiným věcem a díky tomuhle jsem zjistil, že jsem se "zasek" ve staré syntaxi. PDO výborná věc už to mám předělané.

problém vyřešen

mockrát děkuji

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.