Autor | Zpráva | ||
---|---|---|---|
quiced Profil |
#1 · Zasláno: 18. 6. 2015, 16:14:14
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 |
#2 · Zasláno: 18. 6. 2015, 16:20:47
Jakou chybovou hlášku ten dotaz vrací?
Některé časteji řešené dotazy pro MySQL - FAQ » Jak si vypsat chybu |
||
quiced Profil |
#3 · Zasláno: 18. 6. 2015, 16:27:18
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 |
#4 · Zasláno: 19. 6. 2015, 00:16:46
Zkontrolujte znaky (jejich hexadecimální vyjádření) před left joinem, zda tam nejsou třeba nedělitelné mezery.
|
||
quiced Profil |
#5 · Zasláno: 19. 6. 2015, 07:45:07
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 |
#6 · Zasláno: 19. 6. 2015, 08:38:19
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 |
#8 · Zasláno: 19. 6. 2015, 09:52:05
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 |
#9 · Zasláno: 19. 6. 2015, 09:57:51
Ten pôvodný dotaz (jeho časti) si písal sám, alebo odniekiaľ kopíroval?
|
||
quiced Profil |
#10 · Zasláno: 19. 6. 2015, 20:45:30
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 |
#11 · Zasláno: 20. 6. 2015, 00:01:37
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 |
#12 · Zasláno: 22. 6. 2015, 10:21:37
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. |
||
Časová prodleva: 10 let
|
0