Autor | Zpráva | ||
---|---|---|---|
Martin73 Profil * |
#1 · Zasláno: 23. 12. 2010, 17:39:17
mam funkci :
f unction addZavodnik($nSezona,$zCas, $zName, $zDatum, $zMisto) { $query = mysql_query("INSERT INTO $nSezona VALUES(null,'$zCas','$zName','$zDatum','$zMisto')") or die (mysql_error()); } pricemz $nSezona = $_GET['id'] kdyz toto chci udelat a pridat zavodnika tak mi to vypise sql chybu : 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 ''' VALUES(null,'15:20','Vaclav Martin','2010-11-03','Praha')' at line 1 .. nevíte nekdo co s tím ? kdyz zadam nazev tabulky normalne tak to funguje ale kdyz pomocí toho GET tak to haze chybu ... :/ prosim za odopoved |
||
xmark Profil |
#2 · Zasláno: 23. 12. 2010, 17:43:55
Martin73:
„kdyz zadam nazev tabulky normalne tak to funguje ale kdyz pomocí toho GET tak to haze chybu“ INSERT INTO '$nSezona' VALUES .. |
||
Alphard Profil |
#3 · Zasláno: 23. 12. 2010, 19:11:35
xmark:
„INSERT INTO '$nSezona' VALUES ..“ Klasické apostrofy ne, když už, tak zpětné. Martin73: Vypište celý dotaz. |
||
Martin73 Profil * |
#4 · Zasláno: 23. 12. 2010, 20:47:41
toto pracuje s formularem :
<?php if (isset($_POST['addZavodnik'])) { if (($_POST['jmenoprijmeni']) != ""){ addZavodnik($_GET['id'],$_POST['cas'],$_POST['jmenoprijmeni'],$_POST['datum'],$_POST['misto']); Header("Location: sezony.php"); }else { echo "Zadejte jméno a příjmení závodníka!!"; } } ?> a funkce addZavodnik().. je taková jakou jsem psal v 1# tzn: function addZavodnik($nSezona,$zCas, $zName, $zDatum, $zMisto) { $query = mysql_query("INSERT INTO $nSezona VALUES(null,'$zCas','$zName','$zDatum','$zMisto')") or die (mysql_error()); } to s temi apostrofy '$nSezona' sem samozřejmě skoušel a chyba nezmizela , skoušel jsem i šíkmé apostrofy(nebo jak se tomu říká ``) |
||
xmark Profil |
#5 · Zasláno: 23. 12. 2010, 20:56:48
Martin73:
„funkce addZavodnik“ Ta funkce nikoho nezajímá. Vypiš si obsah toho mysql_query(). Jestli v něm nenajdeš chybu sám, zkus to dát sem. mmch.. když ten dotaz budeš mít v kompletním tvaru INSERT INTO table (col1,col2,col3) VALUES ('$neco1', '$neco2', '$neco3') budeš vědět, co se kam snažíš ukládat a vyloučíš tak jednu z možných chyb. Alphard: „Klasické apostrofy ne, když už, tak zpětné.“ Sorry, já tuhle syntaxi nesnáším a nepoužívám. |
||
Martin73 Profil * |
#6 · Zasláno: 23. 12. 2010, 21:15:55
skoušel jsem místo toho $_GET['id'] vložit ten nazev ktery se tam ma vlozit a funguje to ... ale kdyz dam za tu promennou `$nSezona` ty zpetne lomitka tak to napise incorrect table name misto te chyby kterou jsem psal .. takze vím urcite ze je chyba ve vypsani toho jmeno co vypisuje $_GET['id'] jenomze nevím kde ... cela aplikace má fungovat tak že na začátku uživatel vytvoří tabulku ( napise jen rocnik ) a ona se pojmenuje sezona(rocnik) tzn treba sezona2011 pak ta tabulka se da upravovat .. kdyz se klikne na jednu z moznosti s nazvem rekordy tak se zobrazi obsah te tabulky na strance rekordy.php?id=sezona2011 pricemz to $_GET['id'] = sezona2011 a proto to pouzivam protoze tam chci mit jeste funkce jako pridat zavodnika ( ke kteremu je pripsat cas rekordu , kde to zabehl , a datum , jmeno atd.. ) a kdyz bude tech sezon víc tak aby se to pridalo jen do te sezony do ktere budu chtít a abych nemusel ke kazde zvlast vytvaret novou funkci... nevím jestli vás napadá jíná možnost jak toto udělat byl bych moc rád ( to $_GET['id'] asi není zrovna nejrozumnejsi resení )
|
||
xmark Profil |
#7 · Zasláno: 23. 12. 2010, 21:32:54
Martin73:
Jdeš na to špatně. Vyrob si tabulku "vysledky" se sloupci "sezona", "zavodnik", "vysledek" a dalšími, co potřebuješ. Časem přijdeš na to, že je užitečné mít jména (jmeno, prijmeni) závodníků, názvy závodů a příp. další věci v dalších extra tabulkách, ale to ti asi v této fázi nikdo nevysvětlí. |
||
Martin73 Profil * |
#8 · Zasláno: 23. 12. 2010, 21:39:20
děkuju moc, proč to dělat složitě když to jde jednoduše ...
|
||
Alphard Profil |
#9 · Zasláno: 23. 12. 2010, 21:41:35
Martin73:
Tím vypsat dotaz myslíme tohle, bude se vám to určitě hodit i jindy. $query = mysql_query($q="INSERT INTO $nSezona VALUES(null,'$zCas','$zName','$zDatum','$zMisto')"); if (!$query) { echo "$q<br><br>".mysql_error(); } „nevím jestli vás napadá jíná možnost jak toto udělat“ Víceméně souhlas s [#7]. Je mi ale jasné, že ty dva řádky na pochopení nestačí. Jestli vás to zajímá, nezbývá vám nic jiného než studovat principy relačních databází. Nevypadá to, že byste si dělat těžkou hlavu s ošetřováním dat. Opět udělám reklamu skvělému dibi, třeba se vám zalíbí. |
||
Časová prodleva: 13 let
|
0