Co přesně znamená nefunguje?
Maikis:
Takže jak říkáš, pokud je struktura tabulky "posta" takováto:
userid int(25) Ne auto_increment
autor varchar(25) Ne
komu varchar(25) Ne
nadpis varchar(25) Ne
telo text Ne
tak SQL dotaz ...:
$sql = mysql_query("INSERT INTO posta (komu, nadpis, telo, username, userid, datum)
VALUES('$komu', '$nadpis', '$telo', '$username', '$userid', now())") or die (mysql_error());
... nemůže nic vložit, neboť sloupeček "datum" evidentně v této tabulce chybí. A jak tak koukám, ještě se v SQL dotazu odvoláváš na sloupeček "username", který v tabulce rovněž není.
sorry, já si to spletl s jinym programem:)) tenhle funguje:))
opraveno, ale stále to nefunguje:(
Prosím vyhýbej se výrazům "TO NEFUNGUJE". Aby ti mohl někdo poradit, musíš být, co nejkonkrétnější. Co konkrétně nefunguje, co to dělá, co to nedělá, jaké jsou chybové hlášení, jak jsi zjistil chybu?
Hochu s tebou je celkem sranda, ale bydlet s tebou doma tak bych zesilel.
No jo, i ty máš šanci poradit Maikisovi: "opraveno, ale stále to nefunguje:("
Uš sis vypsal to SQL, které se provádí? Vypiš si ho.
http://faq.webzdarma.cz/otazka.php?45
http://faq.webzdarma.cz/otazka.php?46
Maikis:
Opět sem vlož strukturu tabulky posta ať víme, kde je chyba. Jak člověk do tý databáze nevidí, je to v pr... .
Sloupec Typ Vlastnosti Nulový Výchozí Extra Akce
userid int(25) Ne auto_increment
autor varchar(25) Ne
komu varchar(25) Ne
nadpis varchar(25) Ne
telo text Ne
Zaškrtnout vše / Odškrtnout vše Zaškrtnuté:
Tvůj příspěvek z konce srpna:
Autor: Maikis (superbecko.wz.cz)
Datum: 31. 08. 2005 10:44
Sloupec Typ Vlastnosti Nulový Výchozí Extra Akce
userid int(25) Ne auto_increment
autor varchar(25) Ne
komu varchar(25) Ne
nadpis varchar(25) Ne
telo text Ne
Zaškrtnout vše / Odškrtnout vše Zaškrtnuté:
Nevim jak mam z SQL vytáhnout ten dotaz:)
_____________________________
Dnešní tvůj příspěvek:
Sloupec Typ Vlastnosti Nulový Výchozí Extra Akce
userid int(25) Ne auto_increment
autor varchar(25) Ne
komu varchar(25) Ne
nadpis varchar(25) Ne
telo text Ne
Zaškrtnout vše / Odškrtnout vše Zaškrtnuté:
____________________________
Já bohužel nevidím žádný rozdíl. A teď mi řekni, jestli si četl co jsem ti na to psal, co je někde o několi možná desítek řádků výše, nebo ne. Konkrétně zde:
http://www.webzdarma.cz/forum/read.php?f=2&i=26015&t=25985
No se to nějak nepovedlo, neklikej na ten odkaz, myslel jsem si to že se to zobrazi jednotlivě (strukturovaně) a ono prd. Hledej s datem:
Autor: blahapet (jsinteriery.wz.cz)
Datum: 31. 08. 2005 11:52
echo "INSERT INTO posta (komu, nadpis, telo, username, userid) VALUES('$komu', '$nadpis', '$telo', '$username', '$userid', now())";
sorry - username jsem tam dodělal - přejmenoval a zbytek jsem změnil v tomnhle - prostěš jsem to udělal aby to bylo dobře a nefunguje to:(
Tamto jsem jenom zkopíroval z hořejška:(
No ale vyždyť to vidíš! Na konci ve VALUES máš "now()" a ten v tý tabulce taky chybí. Zkrátka chceš vkládat datum a není v tabulce pro něj místo, tak buďto to tady umaž a nebo přidej do tabulky další sloupeček na datum.
docela me zajímá jak se ten problém vyřeší, protože mam asi uplně stejnej problém :(
wšechno zdanlive funguje-zadny chybovy hlaseni, ale proste se to do ty database nezapuse-jen to co zadam "rucne" pres myAdmina...
dyztak tady je kod :
<?php if($jmeno==""){ ?>
<div style="text-align:left">
<form name="registrace" action="main.php?screen=regform" method="post" onSubmit="return kontrola(registrace);">
<span style="font-family:Courier;color:red;font-weight:bold">Povinné : </span>
<table>
<tr><td>Jméno:</td><td><input type="text" size="15" name="jmeno"></td><td>Příjmení: <input type="text" size="15" name="prijmeni"></td></tr>
<tr><td>Nick :</td><td colspan="3"><input type="text" size="15" name="nick"></td></tr>
<tr><td>Heslo:</td><td><input type="password" size="15" name="heslo"></td><td>potvrdit: <input type="password" size="15" name="heslo2"></td></tr>
<tr><td>E-mail:</td><td colspan="3"><input type="text" size="25" name="email"></td></tr>
</table>
<input type="hidden" name="level" value="1">
<table>
<tr><td>patřím do třídy QA gym. Voděradské :</td><td><input type="radio" name="trida" value="1"> Ano</td></tr>
<tr><td></td><td><input type="radio" name="trida" value="0"> Ne</td></tr>
</table>
<hr color="orange">
<span style="font-family:Courier;color:red;font-weight:bold">Nepovinné : </span>
<table>
<tr><td>ICQ:</td><td><input type="text" size="9" name="icq"></td></tr>
<tr><td>poznámky:</td><td><textarea name="pozn" cols="40" rows="3"></textarea></td></tr>
</table>
<hr color="orange">
<br>
<input type="submit" value="ODESLAT" tabindex="1" class="tlacitko"> <input type="reset" value="Reset" class="tlacitko">
</form>
</div>
<?php } else{
$link = mysql_connect("*","*","*");
mysql_select_db("class33", $link);
mysql_query("INSERT INTO login(id, nick, heslo, email, jmeno, prijmeni, ICQ, level, class) VALUES ('0', '{$_POST['nick']}', '{$_POST['heslo']}', '{$_POST['email']}', '{$_POST['jmeno']}', '{$_POST['prijmeni']}', '{$_POST['ICQ']}', 0, 0)", $link);
$affected = mysql_affected_rows($link);
if ($affected < 1) {
echo "Zadost byla uspesne odeslana";
} else {
echo "Zadost se nepodarilo odeslat";
}
}
?>
PS : ten connect je w poho-jen sem wymazal udaje...
manik:
Pokud si četl více příspěvků z tohoto vlákna, tak si jistě pochopil, že nezáleží pouze na kódu, kterej háže data do tabulky, ale taky jak vlastně ona sama tabulka ve skutečnosti vypadá, tím myslím její struktura. To přeci jen napoví mnohem víc.
jj sry cet sem to cely...
id int(11) Ne auto_increment
nick varchar(15) Ne
heslo varchar(15) Ne
email varchar(30) Ne
jmeno varchar(15) Ne
prijmeni varchar(15) Ne
ICQ varchar(9) Ne
level int(11) Ne
class int(1) Ano
Buďto bych to zkusil takto (po mém):
mysql_query("INSERT INTO login VALUES ('' , ' ".$_POST["nick"]." ' , ' ".$_POST["heslo"]." ' , ' ".$_POST["email"]." ' , ' ".$_POST["jmeno"]." ' , ' ".$_POST["prijmeni"]." ' , ' ".$_POST["ICQ"]." ', 0 , 0)");
A nebo bych se zamyslil nad tím, že sloupec "level" máš ve struktuře tabulky NENULOVÝ, ale ty tam vkládáš nulu.
ok level oprawen,ale ta u toho id snad newadi ne? tys to nak vynechal-to udela taky auto inc?
manik:
Nemusíš do sloupce id vkládat vůbec nic, pokud je auto_increment (a on je), ono se tam samo vloží číslo vždy o jednu vyšší než je nejvyšší id v tabulce.
blahapet: Upřesnění. Nevloží se automaticky číslo o jedničku větší než nejvyšší id v tabulce, ale o jednu větší než se současný stav počítadla auto_incerement. Pokud máš např. 8 záznamů a vložíš další, bude mít číslo 9. Pokud ten 9. smažeš, a vložíš další, dostane už číslo 10. Číslo 9 už nebude použito.
jj, v tom máš vlastně pravdu, sorry.