Autor Zpráva
quiced
Profil
Zdravím všechny,

měl bych dotaz ohledně psaní SQL dotazů. Dost často se mi teď v Netbeansu stává, že mi Mysql háže syntax error i když mám dotaz správný. Stačí poté dotaz vzít a přepsat ho znovu a vše funguje. Podobný problém mi dělal i SublimeText, ale né tak často jako NetBeans. Stává se mi to především když daný dotaz několikrát upravuju a pravděpodobně tam je někde nějaká mezera navíc nebo něco podobného. Ale třeba jenom ty dotazy píšu špatně proto příkládám příklad:

SELECT category.parent,category_lang.name,category.id FROM category LEFT JOIN category_lang ON (category.id=category_lang.id_category) WHERE category.parent!='0'

Můžete mi prosím někdo poradit co s tím dělat, abych ten dotaz nemusel přepisovat pořád dokola.

Díky za každou radu.
Kajman
Profil
Jakou chybovou hlášku ten dotaz vrací?
Některé časteji řešené dotazy pro MySQL - FAQ » Jak si vypsat chybu
quiced
Profil
SQLSTATE[42000]: Syntax error or access violation: 1064 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 'LEFT JOIN category_lang ON (category.id=category_lang.id_category) WHERE categor' at line 1
Kajman
Profil
Zkontrolujte znaky (jejich hexadecimální vyjádření) před left joinem, zda tam nejsou třeba nedělitelné mezery.
quiced
Profil
A nevíš jak se to kontroluje? Já tam vidím jenom jednu mezeru.

Jako problém jsem vyřešil tím, že jsem celý dotaz smazal a napsal ho úplně znovu, ale jak už jsem psal poslední dobou se mi to stává častěji a je to dost otravné ty dotazy neustále znovu přepisovat.

Díky za radu.
Kajman
Profil
Pokud to editor neumí, můžete si proměnnou vypsat v hexadecimálním kódu v php např. díky této funkci
http://stackoverflow.com/questions/1057572/how-can-i-get-a-hex-dump-of-a-string-in-php#4225813
quiced
Profil
To asi není úplně to řešení, které hledám, protože mi přijde daleko lepší to 2x opsat znovu než řešit něco takového co jsi posílal.

Myslím, že problém bude v editoru, který tam vloží nějaký neviditelný znak. Spíše by to chtělo kdyby se našel člověk, který řešil něco podobného.

Ale díky za odpověď asi to tedy řešit nebudu a raději najdu jiný editor, protože když jsem zkoušel PhpStorm tak tam problém nebyl ani jednou.
Joker
Profil
quiced:
mi přijde daleko lepší to 2x opsat znovu než řešit něco takového co jsi posílal.
Jednak Kajmanův návrh je myšlen jen pokud není k dispozici hex editor (např PSPad to umí) a jednak to najde problém jednou a pak už bude vyřešený, zatímco opisování bude pořád dokola.

Myslím, že problém bude v editoru, který tam vloží nějaký neviditelný znak.
Otázka je, proč by to Netbeans dělal a proč se s tím nepotýkají ty miliony jiných lidí, kteří ho používají.
Vypadá to buď na problém někde jinde, nebo v interakci něčeho jiného s Netbeans.

asi to tedy řešit nebudu a raději najdu jiný editor
Vzhledem k výše uvedenému to problém může a nemusí vyřešit.
tiso
Profil
Ten pôvodný dotaz (jeho časti) si písal sám, alebo odniekiaľ kopíroval?
quiced
Profil
Joker:
Je možné, že problém je někde jinde, ale opravdu mě nenapadá kde. Fakt je ten, že to nedělal jenom NetBeans, ale i SublimeText. Spíš mě napadlo jestli chyba nebude někde v nastavení, ale vzhledem k tomu, že jsem defaultní nastavení nijak neměnil, tak je to divné.

tiso
Psal jsem ho sám.
Kajman
Profil
quiced:
Zkusil bych vypátrat co se v souboru změnilo... je jednodušší najít, proč editor dělá něco konkrétního - tedy nejprve zjistit, co dělá špatně.

Pokud je takový problém s výpisem proměnné v hex formátu, zkuste si soubor vyvolávající chybu uložit v kopii, opravit přepisem toho samého a pak vypsat nějakou diff utilitou rozdíly.
quiced
Profil
Díky za rady popravdě navrhované řešení mi zní moc složitě a asi to nechám být.

Ještě jednou díky za rady.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: