Autor | Zpráva | ||
---|---|---|---|
janhuska Profil |
#1 · Zasláno: 13. 12. 2013, 09:54:10
Dobre rano,
neporadil by nekdo se zapisem dotazu v php? Predavam promennou $rok a podle ni jsou pojmenovane tabulky .. a nemuzu ho do dotazu dostat :( $dotazpriprava = "SELECT 2013tab.cislo As 13tab, .'$rok'.sale.do As 13sale, 2013kat.kate As 13kat, atd.. |
||
jenikkozak Profil |
#2 · Zasláno: 13. 12. 2013, 10:10:13
Jde o obyčejné dosazení proměnné do řetězce, nehledej v tom zvláštní vědu.
Čísla v názvech tabulek zavánějí chybně navrženou databází. |
||
Tabetha Profil |
#3 · Zasláno: 13. 12. 2013, 10:11:00
nestačilo by?
$dotazpriprava = "SELECt 2013tab.cisla As 13tab, $rok.sale.do As 13sale, ... |
||
janhuska Profil |
#4 · Zasláno: 13. 12. 2013, 10:26:58
Tabetha:
tohle mi právě také píše chybu :( right syntax to use near '.sale.do As ..... |
||
Joker Profil |
#5 · Zasláno: 13. 12. 2013, 10:28:24
janhuska:
A jak vypadá celý výsledný dotaz, který se posílá do databáze (tj. už s nahrazenými proměnnými)? |
||
janhuska Profil |
#6 · Zasláno: 13. 12. 2013, 10:37:56
$dotazpriprava = "SELECT 2013tab.cislo As 13tab, 2013sale.do As 13sale, 2013kat.kate As 13kat FROM stav "; V tomhle stavu rucne zadany to jede |
||
Joker Profil |
#7 · Zasláno: 13. 12. 2013, 10:41:07
janhuska:
Ten dotaz vybírá sloupce z tabulek 2013tab, 2013sale a 2013kat, ale žádné takové tabulky nejsou v části FROM. |
||
janhuska Profil |
#8 · Zasláno: 13. 12. 2013, 10:44:28 · Upravil/a: janhuska
Joker:
omluva .. zkopiroval sem jiney pokus :( $dotazpriprava = "SELECT 2013tab.cislo As 13tab, 2013sale.do As 13sale, 2013kat.kate As 13kat FROM 2013sale, 2013kat "; tak naposled :) $dotazpriprava = "SELECT 2013tab.cislo As 13tab, 2013sale.do As 13sale, 2013kat.kate As 13kat FROM 2013sale, 2013kat, 2013tab "; |
||
Joker Profil |
#9 · Zasláno: 13. 12. 2013, 11:17:51
janhuska:
A tenhle dotaz hází tu chybu? Podle mě nehází a ten předtím ji házel proto, že tam byla navíc tečka 2013 .sale.do As 13sale, .
Jinak ale pravděpodobně to je špatně navržená databáze (viz [#2] jenikkozak) a jen těžko si umím představit, že by tenhle dotaz něco smysluplného vybíral. |
||
janhuska Profil |
#10 · Zasláno: 13. 12. 2013, 11:24:26
takhle to jde .. ale jak to chci pres $rok
$rok.sale.do tak je to s hlaskou rok predam odkazem index.php?rok=2013 prijmu ho @$rok = $_GET['rok']; |
||
Kajman Profil |
#11 · Zasláno: 13. 12. 2013, 11:26:07
Stále tam máte navíc zmíněnou tečku.
|
||
janhuska Profil |
je to jednoucelovy skript na vyjete tabulky, ty se hodi na konci roku do zalohy a uz se s nima nikdy nebude pracovat .. proto bych tam zadny navrh databaze momentalne nehledal.
Smysluplnost tam neni .. je tam radek navic .. ale tomu ze se provede to tet nebrani .. jen potrebuju predat ten rok Kajman: $rok sale.do myslite tuhle? to je to same :( |
||
Kajman Profil |
#13 · Zasláno: 13. 12. 2013, 11:44:40
Odstranil jste nadbytenčou tečku a přidal nadbytečnou mezeru. Zkuste
"... {$rok}sale.do ..." A taky si zkuste o databázích něco přečíst, ať příště nevymýšlíte nesmyslnná řešení. |
||
Joker Profil |
#14 · Zasláno: 13. 12. 2013, 11:45:35
Kajman:
„Stále tam máte navíc zmíněnou tečku.“ No je fakt, že když vynechá tečku, nebude mu to fungovat taky, protože zas PHP nepozná tu proměnnou. Shodou okolností zrovna včera jsem tu psal názor, že začátečníci by raději neměli interpolaci proměnných používat. janhuska: Ten úplně první dotaz byl v podstatě správně, jen tam byly špatně uvozovky a tečky na jejich špatné straně: "SELECT 2013tab.cislo As 13tab, .'$rok'.sale.do As 13sale, (…) "SELECT 2013tab.cislo As 13tab, ".$rok."sale.do As 13sale, (…) Jinak kromě toho: > prijmu ho > @$rok = $_GET['rok']; Sem zas nepatří zavináč. „Smysluplnost tam neni .. je tam radek navic .. ale tomu ze se provede to tet nebrani .. jen potrebuju predat ten rok“ Když ten dotaz nedává smysl, tak proč ho vůbec provádět? „je to jednoucelovy skript na vyjete tabulky, ty se hodi na konci roku do zalohy a uz se s nima nikdy nebude pracovat“ A na co je v tomhle potřeba dotaz, který vrátí všechny kombinace dat v těch tabulkách? Pokud by každá z těch tabulek obsahovala dva řádky a ten hledaný sloupec v nich měl hodnoty 1 a 2, bude výsledek: 13tab | 13sale | 13kat 1 | 1 | 1 1 | 1 | 2 1 | 2 | 1 1 | 2 | 2 2 | 1 | 1 2 | 1 | 2 2 | 2 | 1 2 | 2 | 2 |
||
janhuska Profil |
#15 · Zasláno: 13. 12. 2013, 11:58:08
Joker:
Dekuji za pomoc. .. nejsem tak sileny jak ten dotaz vypada :o) jeste je tam spoustu WHERE A ORDER BY .. proste jsem zjednodusoval aby ste to nemuseli cele cist. J. |
||
Časová prodleva: 10 let
|
0