Autor Zpráva
midas
Profil
Č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
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
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
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
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);
za těmi dvěma dotazy (CREATE TABLE a INSERT).
midas
Profil
Dík, že jsi mi odpověděl. Zapsal jsem tedy
mysql_query($sql, $spojeni);
za ty dotazy a stále to hází chybu, jako v prvním postu. A stále to nevytvořilo tu tabulku :-( . Nemohli byste mi prosím poslat tedy nějaký alternativní script, když tady ten nejde?
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
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))
-- nemělo to být jmeno int(11) nebo jmeno varchar(11)?

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
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
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
Díky, teď to je už dokonalé ;-)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0