| Autor | Zpráva | ||
|---|---|---|---|
| Akali Profil |
#1 · Zasláno: 26. 6. 2010, 14:28:49 · Upravil/a: Akali
php script (soubor test.php)
<?php
$db = mysqli_connect ('localhost', 'root', 'heslo', 'test');
if(!$db)
echo "nepodařilo se připojit";
if (isset($_POST['zprava']))
{
// Vytvoření SQL příkazu typu INSERT.
$sql_prikaz =
"INSERT INTO dorost(pridal,datum,text) "
."VALUES(NOW(),'"
.mysqli_real_escape_string($db,$_POST['pridal'])
."','"
.mysqli_real_escape_string($db,$_POST['datum'])
."','"
.mysqli_real_escape_string($db,$_POST['text'])
."')"
;
$objekt_vysledku = mysqli_query($db, $sql_prikaz);
if (!$objekt_vysledku)
{
echo 'Poslání SQL příkazu se nepodařilo, sorry';
echo '<br />';
echo 'Popis chyby: ', mysqli_error($db);
exit();
}
echo 'Nový zápis do knihy návštěv přidán.<br />';
}
?>html kód (soubor joj.html) <form name="kniha" action="test.php" method="post"> <b>Jméno:</b><br /> <input name="pridal" size="40"><br /> <br /> <b>datum:</b><br /> <input name="datum" size="40"><br /> <br /> <b>text:</b><br /> <textarea name="text" rows="5" cols="30"></textarea><br /> <br /> <input type="submit" value="Odeslat zprávu"> </form> tabulka -> DROP TABLE IF EXISTS `dorost`; CREATE TABLE IF NOT EXISTS `dorost` ( `Pridal` text collate utf8_czech_ci NOT NULL, `Datum` text collate utf8_czech_ci NOT NULL, `Text` text collate utf8_czech_ci NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci; Mohl by mi někdo říct, proč se to neodešle do DB? :( |
||
| Mastodont Profil |
#2 · Zasláno: 26. 6. 2010, 14:45:35
Zřejmě proto, že voláš mysqli_real_escape_string a předáváš jakési $db_spojeni namísto $db, které sis vytvořil předtím ...
|
||
| Akali Profil |
#3 · Zasláno: 26. 6. 2010, 14:53:21
Tak to už jsem opravil, ale pořád nic : (
|
||
| Mastodont Profil |
#4 · Zasláno: 26. 6. 2010, 14:56:02
No pak tam ještě vidím isset($_POST['zprava'], ale ve formuláři žádný prvek "zprava" není.
|
||
| Akali Profil |
#5 · Zasláno: 26. 6. 2010, 15:02:51
Aha, tak teď jsem tam místo "zprava" dal "text" a hodilo to tuto chybu
Poslání SQL příkazu se nepodařilo, sorry Popis chyby: Column count doesn't match value count at row 1 |
||
| Mastodont Profil |
#6 · Zasláno: 26. 6. 2010, 15:11:34
Jo, protože v závorkách za názvem tabulky máš tři sloupce, ale posíláš NOW + 3 hodnoty.
|
||
| Akali Profil |
#7 · Zasláno: 26. 6. 2010, 15:17:57
No super, funguje to. Díky moc!
|
||
|
Časová prodleva: 16 let
|
|||
0