Autor Zpráva
marek888
Profil
Dobrý den. Mám tu takovou otázečku. Jak mám napsat tento PHP kod, aby mi neházel žádný error? Před PHP kodem je stránka. Nejsem si jist zda li pak není error i na této stránce.
Zde jse kod Html stránky. :
<html>
    <head>
        <title>Pandorafields - příspěvky</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <link rel="shortcut icon"  href="avatar.ico">
        <link rel ="stylesheet" type ="text/css" href= "main.css" >
    </head>
    <body>
        <form method="POST" action="pridat.php">
            <input type="text" name="autor"> &lt;autor
            <input type="text" name="titulek"> &lt;titulek
            <textarea name="obsah"></textarea> &lt;obsah
            <input type="submit" value="odeslat">
        </form>
    </body>
</html>
Potřebné informace se vyplní a odešlou se na stránku, kde by PHP kod měl text zapsat do mysql databáze. A když už jsem u mysql databáze, nevím, zda li pak tam mám také vše, co potřebuji mít, aby to fungovalo. Zde je ten kod:
 <?php
        
        $db_host = "mysql.webzdarma.cz";
        $db_username = "-----";
        $db_pass = "------";
        $db_name = "pandorafields";
        
        @mysql_connect("$db_host","$db_username","$db_pass") or die ("nepřipojeno k databázi Mysql");
        @mysql_select_db ("$db_name") or die ("Nesprávná databáze, či tabulka!!");
        @mysql_query ("insert into pandorafields values( NULL, 'POST_["$autor"]', 'POST_["$titulek"]', 'POST_["$obsah"]', 'POST_["$datum"]')");
        
        echo mysql_error();
        echo $_POST["autor"];
        echo "připojení se nezdařilo"
        
        ?>
Potřebné informace jako je heslo, nebo jméno mám správně vyplněné. Moc děkuji předem za odpovědi!!!
PS: PHP kod mi vyhodí tento error : Parse error: syntax error, unexpected T_VARIABLE in /3w/xf.cz/p/pandorafields/pridat.php on line 16
Tori
Profil
@mysql_query("insert into pandorafields values(NULL, '" . mysql_real_escape_string($_POST["autor"]) 
. "', '" . mysql_real_escape_string($_POST["titulek"]) 
. "', '" . mysql_real_escape_string($_POST["obsah"])
. "', '" . mysql_real_escape_string($_POST["datum"]) . "')");
marek888
Profil
Dík, zkusím to, zda li pak to funguje.
marek888
Profil
No, bohužel hází mi to chybu : Column count doesn't match value count at row 1. Nevím co si pod tím mám představit :(
Tori
Profil
marek888:
Vkládáte data do pěti sloupců tabulky. MySQL vám hlásí, že tabulka nemá pět, ale jiný počet sloupců.
marek888
Profil
Tori:
Díky, neznáte prosím nějaké stránky, které by mě mohli naučit, jak používat, nebo se nějak orientovat v mysql databázi? Protože v databázi mám stejný počet sloupců, jako je napsáno v kodu, a hází to takovýto error. Hledal jsem všude na google. Děkuji za odpovědi!
Magnus123
Profil
marek888:
V první řadě, být tebou, vypisuji názvy sloupců při INSERTu.
mysql_query("
  INSERT INTO tabulka (sloupec1, sloupec2. sloupec3) VALUES ('hodnota1', 'hodnota2', 'hodnota3')
");

Pak se ti jen těžko stane, že budeš vkládat jiný počet hodnot, než je počet sloupců.
marek888
Profil
Díky, tvůj návrh jsem vyzkoušel ale stejně mi to hází errory, asi to neumím správně zapsat, či co. V tom asi bude ten hlavní problém...
Tori
Profil
marek888:
Možná trochu pletou ty uvozovky a apostrofy v mém kódu, vypadá to asi chaoticky. Zkuste zjednodušený dotaz, kde vyjmenujete sloupce, do kterých vkládáte, a jako hodnoty napište napevno nějaký text. Pokud to uloží, byl chybně sestavený dotaz.
marek888
Profil
a, již jsem zjistil kde mám ten můj error, error není v Mysql databázi, ale v http://www.pandorafields.xf.cz/prispevky.html
Dal jsem aby mi to vypsalo na stránce přidat.php pouze autora, a vypaslo mi to i titulek a obsah. Takže teď mám asi další blbou otázku. Dá se to nějak rozdělit, aby se každé napsalo do toho, do čeho je to určené. Takže autor do $autor a titulek do $titulek?

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: