LINUXSOFT.cz
Nazwa użytkownika: Hasło:     
    CZ UK PL

> Komentarze :: Poradna Insert do dtb na učité místo podle ID

Insert do dtb na učité místo podle ID 2.8.2007 12:05
slune

Dobrý den,
mám 2 tabulky:
Hraci a Zeme
v tabulce Hraci se ukladaji hodnoty jako IDHrace Login Heslo Jmeno a Typ_Uctu, zapisují se pri registraci.
v tabulce Zeme se uklada IDHrace IDZeme a JmenoZeme

A můj problém je:
Potřebuju vložit do tabulky Zeme IDHrace, který je právě přihlášený. V tabulce Zeme je primární klíč IDZeme (auto_increment). Mám nastavenou relaci mezi IDHrace->Hraci a IDHrace->Zeme ale tam se mi pokazde doplnuje jen 0.
Nevíte jak bych na to mohl jít? Pokud je moje otázka nesrozumitelně formulovaná, tak se omlouvám, ale hlava se mi zvětšila o 13cm aspon...

Re: Insert do dtb na učité místo podle ID 2.8.2007 12:28
Hynek (Pichi) Vychodil

Co ti nefunguje? Dej sem ukázky DTD a kódu a co ti nefunguje. Jak máme čmuchat co děláš špatně, když netušíme co děláš. Viz. http://stare.cz/otazky

Re: Insert do dtb na učité místo podle ID 2.8.2007 14:19
slune

Zjednodušeně:
Nedoplňuje se správně IDHrace.
Chci udělat něco jako:
[code]$zapis_jmeno=mysql_query("INSERT INTO Zeme (Jmeno) VALUES ('".$_POST['JmenoZeme']."') WHERE IDHrace LIKE '".$_SESSION['IDHrace']."'") or die(mysql_error());[/code]

Ale MySQL mi vrací hlášku:
[code]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 'WHERE IDHrace LIKE ''' at line 1[/code]

Vím je to nepovolený příkaz, ale nevím jak mám udělat to aby se doplnilo IDHrace v tabulce Zeme, stejné jako je v tabulce Hraci
(struktura tabulek nahoře).
Pokud stéle nebude rozumět, položte konkrétní dotaz.

Re: Insert do dtb na učité místo podle ID 2.8.2007 15:04
Aleš Hakl

To totiz bude tim, ze prikaz INSERT zadnou cast WHERE (pomerne logicky) nema.

Re: Insert do dtb na učité místo podle ID 2.8.2007 16:41
Hynek (Pichi) Vychodil

Krom toho, že si dotyčný zadělává na SQL injection, že :-)

Re: Insert do dtb na učité místo podle ID 2.8.2007 17:46
Aleš Hakl

Jeden by rekl, ze na SQL injection si zadelava uz jenom tim, ze pouziva PHP, jelikoz tam SQL injection je nebo neni v zavislosti na konfiguraci PHP.

Re: Insert do dtb na učité místo podle ID 2.8.2007 21:18
Hynek (Pichi) Vychodil

No to já nevím jak je to v PHP, protože tenhle sranda skoro programovací jazyk neznám a nepoužívám, ale třeba v perlu bych na to použil placeholdery a jsem v suchu a bezpečí. Jak je na tom PHP nehodlám hledat v "Tisíc a jedno kryptické pojmenování téhož, ale trochu jinak".

Re: Insert do dtb na učité místo podle ID 2.8.2007 18:43
slune

Ach jo, četl jste celý ten příspěvek?
Nezlobte se na mě, ale jsem Vám vděčný, že se mi "snažíte" poradit, ale pokud by jste si přečetl větu:
"Vím, že je to nepovolený příkaz..." tak by Vás muselo napadnou, že to vím a že hledám nějakou alternativu, jak to napsat a to je důvod, proč sem vůbec píšu.
Kdesi jsem četl, že lidé od linuxu jsou chytří a že rádi poradí....

Re: Insert do dtb na učité místo podle ID 2.8.2007 19:10
slune

Tak jsem to nakonec řešil cestou, kterou jsem nechtěl, "vkládat vše přímo a nedívat se dokola", ale narazil jsem na další problém.
Nevím jak do dotazu v php napsat hodnotu null kvůli auto_incrementu v radku IDZeme.
Naneštěstí příkaz "INSERT INTO Zeme (IDHrace, IDZeme, Jmeno) VALUES (15, NULL, 'Nevim jaka');" funguje v phpMyAdmin, ale v php scriptu ne. Tohle chování mi příjde opravdu hloupé.

Re: Insert do dtb na učité místo podle ID 2.8.2007 21:13
Hynek (Pichi) Vychodil
Že by třeba takhle:
INSERT INTO Zeme (IDHrace, Jmeno) VALUES (15, 'Nevim jaka');
Re: Insert do dtb na učité místo podle ID 3.8.2007 13:19
slune

Že by třeba takhle:

INSERT INTO Zeme (IDHrace, Jmeno) VALUES (15, 'Nevim jaka');

--> Dík to jsem zkoušel, ještě než jsem napsal ten příspěvek, ne nefunguje.

Ježiš, ty seš tak milej brouku. A četl jsi odkaz, který jsem ti poslal? Nečetl. A já myslel, že když někdo po někom něco chce, tak mu to řekne slušně a bude dodržovat obvyklá pravidla slušného chování. Já ti ty pravidla pro jistotu poslal, ale ty jsi je pro jistotu nečetl, že?

--> hh, pro Vás nejsem brouk, když už, tak brouček! Ne ten odkaz jsem opravdu nečetl a vy? Jo já si to taky myslel, že když člověk něco chce, tak má mít pravidla slušného chování, ale mám také za to, že i ten kdo reaguje má taky mýt nějakou slušnou dávku dobrých mravů.

Kromě toho, že jsem Váš dotaz opravdu nepochopil (možná jsem hloupý) ještě platí, že pokud při vkládání nových řádků do MySQL nespecifikujete hodnotu nějakého sloupce, pokusí se MySQL dosadit nějakou hodnotu. A to a) NULL, pokud je to dovoleno, b) DEFAULT, pokud je to specifikováno, AUTOINCREMENT, pokud je to definováno. Ale to je pro databáze víceméně obvyklé chování a je dobře popsáno v manuálu.

--> Nejsem expert jako vy, ale i tak vím, že když něco nedoplním mySql se zachová tak jak je nastavený sloupec, pokud je povolena hodnota null (ano je) tak se doplní tadle nespecifikovaná, neznámá hodnota, ale jen pokud defaul neni nastaveno a auto_increment je nedefinováno, ale ja mám nastavený auto_increment a pořád dostávám chybové hlašení od mysql o nesprávně zapsané syntaxi. Nevím jestli je to nastavením php na webhostingu nebo mysql, ale na myPhpAdmin mi dotazy fungují bez sebemenšího problému.
A pokud něčemu nerozumíte, tak prosím položte konkrétní dotaz.

Re: Insert do dtb na učité místo podle ID 3.8.2007 13:33
slune

...má taky mít nějakou slušnou dávku...
hh, až ted jsem si všiml... opravdu to nemusíte mýt mýdlem, stačí když to bude vlastnit.
Omlouvám se, gramatická chybka.

Re: Insert do dtb na učité místo podle ID 2.8.2007 21:06
Hynek (Pichi) Vychodil

Ježiš, ty seš tak milej brouku. A četl jsi odkaz, který jsem ti poslal? Nečetl. A já myslel, že když někdo po někom něco chce, tak mu to řekne slušně a bude dodržovat obvyklá pravidla slušného chování. Já ti ty pravidla pro jistotu poslal, ale ty jsi je pro jistotu nečetl, že?

Re: Insert do dtb na učité místo podle ID 2.8.2007 22:08
Petr Zajíc

Kromě toho, že jsem Váš dotaz opravdu nepochopil (možná jsem hloupý) ještě platí, že pokud při vkládání nových řádků do MySQL nespecifikujete hodnotu nějakého sloupce, pokusí se MySQL dosadit nějakou hodnotu. A to a) NULL, pokud je to dovoleno, b) DEFAULT, pokud je to specifikováno, AUTOINCREMENT, pokud je to definováno. Ale to je pro databáze víceméně obvyklé chování a je dobře popsáno v manuálu.

Re: Insert do dtb na učité místo podle ID 3.8.2007 13:36
slune

Už jsem si to vyřešil.
Lock prosím.

Re: Insert do dtb na učité místo podle ID 3.8.2007 15:22
Ondřej Čečák

Muzete prosim poslat, cim to bylo jako pouceni pro ty, kteri pouzivaji vyhledavani?

BTW: necetl jsem cele prispevky, ale zaujala me veta "v phpmyadminu to jde, v php ne ..."; zkuste tipnout, v cem je napsany phpmyadmin ... :)


KOMENTARZE
Insert do dtb na učité místo podle ID 2.8.2007 12:05 slune
  L Re: Insert do dtb na učité místo podle ID 2.8.2007 12:28 Hynek (Pichi) Vychodil
    L Re: Insert do dtb na učité místo podle ID 2.8.2007 14:19 slune
      L Re: Insert do dtb na učité místo podle ID 2.8.2007 15:04 Aleš Hakl
        |- Re: Insert do dtb na učité místo podle ID 2.8.2007 16:41 Hynek (Pichi) Vychodil
        | L Re: Insert do dtb na učité místo podle ID 2.8.2007 17:46 Aleš Hakl
        |   L Re: Insert do dtb na učité místo podle ID 2.8.2007 21:18 Hynek (Pichi) Vychodil
        L Re: Insert do dtb na učité místo podle ID 2.8.2007 18:43 slune
          |- Re: Insert do dtb na učité místo podle ID 2.8.2007 19:10 slune
          | L Re: Insert do dtb na učité místo podle ID 2.8.2007 21:13 Hynek (Pichi) Vychodil
          |   L Re: Insert do dtb na učité místo podle ID 3.8.2007 13:19 slune
          |     L Re: Insert do dtb na učité místo podle ID 3.8.2007 13:33 slune
          |- Re: Insert do dtb na učité místo podle ID 2.8.2007 21:06 Hynek (Pichi) Vychodil
          L Re: Insert do dtb na učité místo podle ID 2.8.2007 22:08 Petr Zajíc
            L Re: Insert do dtb na učité místo podle ID 3.8.2007 13:36 slune
              L Re: Insert do dtb na učité místo podle ID 3.8.2007 15:22 Ondřej Čečák
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
> Szukanie oprogramowania
1. Pacman linux
Download: 4850x
2. FreeBSD
Download: 9044x
3. PCLinuxOS-2010
Download: 8541x
4. alcolix
Download: 10915x
5. Onebase Linux
Download: 9631x
6. Novell Linux Desktop
Download: 0x
7. KateOS
Download: 6219x

1. xinetd
Download: 2382x
2. RDGS
Download: 937x
3. spkg
Download: 4692x
4. LinPacker
Download: 9918x
5. VFU File Manager
Download: 3173x
6. LeftHand Mała Księgowość
Download: 7171x
7. MISU pyFotoResize
Download: 2775x
8. Lefthand CRM
Download: 3540x
9. MetadataExtractor
Download: 0x
10. RCP100
Download: 3087x
11. Predaj softveru
Download: 0x
12. MSH Free Autoresponder
Download: 0x
©Pavel Kysilka - 2003-2024 | mailatlinuxsoft.cz | Design: www.megadesign.cz