Autor | Zpráva | ||
---|---|---|---|
midas Profil |
#1 · Zasláno: 28. 9. 2010, 18:03:38
Čau, omlouvám se, ale stále nemohu najít chybu v kódu, jsem začátečník, ale hledal jsem, co se dalo.
<? $db="komentare"; $spojeni=mysql_connect("tajne"); mysql_select_db($db, $spojeni); $sql = "CREATE TABLE zamestnanci ( jmeno(11) NOT NULL PRIMARY KEY, e-mail varchar(40), zprava varchar(60), plat decimal(10, 2));"; ?> <? $db="komentare"; $spojeni=mysql_connect("tajne"); mysql_select_db($db, $spojeni); $sql = "INSERT INTO zamestanci VALUES ( \"201129/4986\", \"Jan Novák\", \"Kocourkov 111\", 25000);"; ?> <? $db="komentare"; $spojeni=mysql_connect("tajne"); mysql_select_db($db, $spojeni); $sql = "SELECT * FROM zamestnanci;"; $vysledek = MySQL_DB_Query("php", $sql, $spojeni); while ($zaznam = MySQL_Fetch_Row($vysledek)): echo $zaznam[0]."<br>"; echo $zaznam[1]."<br>"; echo $zaznam[2]."<br>"; echo $zaznam[3]."<br><br>"; endwhile; ?> Po načtení stránky to vypíše chybu Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /var/www/web2/widas.cz/widas.cz/komentare/builder/vytvoreni-tabulky.php on line 28 Takže to zřejmě tabulku a hodnoty přidá, ale po nahlédnutí do phpmyadmina tam nemohu nic najít. Dík. |
||
tiso Profil |
#2 · Zasláno: 28. 9. 2010, 18:07:16
midas: nepridá, text musíš vložiť do apostrofov, nie úvodzoviek
$sql = "INSERT INTO zamestanci VALUES ( '201129/4986', 'Jan Novák', 'Kocourkov 111', 25000);"; |
||
Tori Profil |
#3 · Zasláno: 28. 9. 2010, 18:11:27 · Upravil/a: Tori
midas:
„Takže to zřejmě tabulku a hodnoty přidá“ Pokud je toto kompletní kód, tak nepřidá, jelikož odpovídající dotazy na db jsou pouze definované, ale nikoli provedené. První, který se provádí, je až ten select. Mimochodem, pokud používáte funkci mysql_db_query, není potřeba používat mysql_select_db. mysql_db_query vybere databázi i vykoná dotaz, mysql_query pouze vykoná dotaz. |
||
midas Profil |
#4 · Zasláno: 28. 9. 2010, 18:32:11
tiso: dal jsem to do apostrofů, chybu to stále píše :-(
Tori: Když jsem odstranil tam nechal jen mysql_querry, tak to házelo chybu. Ale to není špatně jak to mám ne? Koukám do phpmyadmina a ani s těma apostrofama to nepřidá. |
||
Tori Profil |
#5 · Zasláno: 28. 9. 2010, 18:44:50
midas:
funkce mysql_db_query a mysql_query mají odlišné parametry, proto ta chyba. Ale šlo o to, jestli nechybí mysql_query($sql, $spojeni); |
||
Časová prodleva: 4 dny
|
|||
midas Profil |
#6 · Zasláno: 2. 10. 2010, 18:15:31
Dík, že jsi mi odpověděl. Zapsal jsem tedy
mysql_query($sql, $spojeni); Prostě potřebuji jen přes formulář vytvořit tabulku a házet do ní data a pak je z ní tahat. Přečetl jsem návody na Intervalu a Bulderu, zkoušel jsem je a vždycky to házelo nějakou chybu, ptal jsem se, ale odpovědi jsem se nedočkal. |
||
Tori Profil |
#7 · Zasláno: 3. 10. 2010, 00:04:44
midas:
Teď jsem si teprve všimla chyby: CREATE TABLE zamestnanci ( jmeno(11) NOT NULL PRIMARY KEY, e-mail varchar(40), zprava varchar(60), plat decimal(10, 2)) Pokud by to přesto zlobilo, zkuste si rozebrat kód na jednotlivé bloky a postupně jeden po druhém otestovat, jestli fungují správně. Takže např. první část (vytvoření tabulky) by mohla vypadat: $serverDb = '...'; // localhost? $uzivatelDb = '...'; $hesloDb = '...'; $db="komentare"; $spojeni=mysql_connect($serverDb, $uzivatelDb, $hesloDb); if ($spojeni === false) echo "Spojeni nebylo navazano, chyba " . mysql_errno() . ": " . mysql_error() . '<br>'; else echo "Spojeni navazano.<br>"; if (! mysql_select_db($db, $spojeni)) echo "Chyba pri vyberu db, " . mysql_errno() . ": " . mysql_error() . '<br>'; else echo "Db vybrana.<br>"; $sql = "CREATE TABLE zamestnanci ( jmeno int(11) NOT NULL PRIMARY KEY, e-mail varchar(40), zprava varchar(60), plat decimal(10, 2));"; if (! mysql_query($sql, $spojeni)) echo "Chyba db dotazu. " . mysql_errno() . ": " . mysql_error() . '<br>'; else echo "Tabulka byla vytvorena.<br>"; |
||
midas Profil |
#8 · Zasláno: 3. 10. 2010, 15:58:13 · Upravil/a: midas
Tori, moc jste mi pomohla. Díky Vám se mi již zobrazilo "Tabulka byla vytvořena"! Díky!
Chyba byly dvě. První v proměnné databáze - nemohu napsat jen komentare, nýbrž jménoserveru_komentare. Druhá byla a to nevím proč, nemohu napsat e-mail, ale jen email. Ta pomlčka tam dělala neplechu. Mějte se. |
||
panther Profil |
#9 · Zasláno: 3. 10. 2010, 16:00:52
midas:
„Druhá byla a to nevím proč, nemohu napsat e-mail, ale jen email.“ můžeš napsat e-mail, ale do zpětných apostrofů, tedy `e-mail` |
||
midas Profil |
#10 · Zasláno: 3. 10. 2010, 16:09:09
Díky, teď to je už dokonalé ;-)
|
||
Časová prodleva: 14 let
|
0