Autor Zpráva
Karlos
Profil *
Dobrý den, začala mi první hodina PHP a hned se mi nedaří takový základ jako uložení dat do databáze.
Chci se zeptat, kdepak mám chybu v dotazu ?


$data=mysql_query("INSERT INTO `tabulka` (ID,jazyk,pocet,rozsah,mesto,cena,lektori,platnost) 
  values ('$jazyk', $pocet,$rozsah,'$mesto',$cena,$lektori,'$platnost'");

Děkuji moc

Moderátor juriad: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
Moderátor juriad: Titulek „PHP - Hloupost“ nevystihoval podstatu dotazu. Příště zkus prosím vymyslet lepší.
mimochodec
Profil
Ze seznamu sloupců smaž ID.


A nikdy se ho nesnaž uvádět. Občas vídám, že tam někdo vkládá NULL, to sice zafunguje správně, tzn. ID se vygeneruje, ale je to zbytečné. ID se prostě nezadává, ber to jako by bylo read-only.
pcmanik
Profil
Karlos:
Keď s tým začínaš, tak rovno zabudni na mysql a používaj mysqli/PDO pretože rozhranie mysql je v PHP zastaralé. Viac info k prechodu nájdeš tu.
mimochodec
Profil
Plus ještě na konci vidím chybu v uvozovkách. Spočítej si, co patří do závorky a co ven.
webguru
Profil
$data=mysql_query("INSERT INTO `tabulka` (jazyk,pocet,rozsah,mesto,cena,lektori,platnost) 
  values ('$jazyk',' $pocet','$rozsah','$mesto','$cena','$lektori','$platnost'") or die (mysql_error());
Skus toto. Ale pcmanik ma pravdu. Posluchni ho... :)
Tomáš123
Profil
webguru:
Chýba ti tam jedna zátvorka za poslednou premennou ...'$platnost')". Inak, apostrofy okolo premennej nie sú potrebné, však.
lionel messi
Profil
Tomáš123:
Inak, apostrofy okolo premennej nie sú potrebné, však.
Vo všeobecnosti máš pravdu, ale vždy rozlišuj „kontext“ v ktorom premennú používaš.

V SQL sa reťazce ohraničujú do apostrofov. Ak by si si dotaz uvedený v [#5] spustil (doplnený o chýbajúcu zátvorku) bez apostrofov, skončil by syntaktickou chybou. Okolo $pocet a $cena sú však apostrofy skutočne zbytočné, ide totiž o čísla (s dátovým typom $platnost si nie som istý).
webguru
Profil
Ano chýba :)
-----------------------
EDIT: Vždy sa človek nauči niečo nové

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

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