Autor Zpráva
Anonymní
Profil *
mám kód:
echo "<p>Tento web navštívilo již ";
mysql_select_db("data1",mysql_connect("localhost","moje_jmeno","moje_heslo"));
$zaznam=mysql_fetch_array(mysql_query("SELECT * FROM pocitadlo"));
$hodnota=$zaznam['komplet'];
$pocitani=$_COOKIE['pocitani'];
if ($_COOKIE['ochrana']!="") echo "$hodnota lidí, Váš počítač zde byl již $pocitani";
else{
$hodnota++;
mysql_query("insert into pocitadlo values('$hodnota')");
$pocitani++;
echo "$hodnota lidí, Váš počítač zde byl již $pocitani";
setcookie("pocitani",$pocitani,Time()+7124*24*60*60);
setcookie("ochrana","baf",Time()+1*24*60*60);
}
echo "x.</p>";

který mi vyhazuje chyby:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in index.php on line 2
Warning: Cannot modify header information - headers already sent by (output started at index.php:6) in index.php on line 12
Warning: Cannot modify header information - headers already sent by (output started at index.php:6) in index.php on line 13

a určitě vás bude zajímat databáze, ve zkratce:
mysql_select_db("data1",mysql_connect("localhost","moje_jmeno","moje_heslo"));
mysql_query("CREATE TABLE pocitadlo (komplet VARCHAR (9) NOT NULL)");
mysql_query("insert into pocitadlo values('1')");


Nevíte někdo co s tim? :)
Alphard
Profil
co píše mysql_error()?
xerno
Profil
že tabulka neexistuje, což je dost zvláštní, protože phpMyAdmin říká že tam je... no a co ty chyby se setcookie?
Alphard
Profil
chyby se setcookies jsou pouze důsledek výpisu této chyby
co píše mysql_error() po prvním mysql_query()?
xerno
Profil
1146: Table 'databaze.pocitadlo' doesn't exist
Alphard
Profil
špatně jsem se vyjádřil, tabulka neexistuje, takže musíte znovu spustit
mysql_query("CREATE TABLE pocitadlo (komplet VARCHAR (9) NOT NULL)");

a napište, jakou chybu píše tohle
Mastodont
Profil
Mmch, vytvářet počitadlo jako VARCHAR? No fuj.
xerno
Profil
předpokládam že by to mělo vypadat nějak takto
if(!mysql_query("CREATE TABLE pocitadlo (komplet VARCHAR (9) NOT NULL)")) die(mysql_error());
tohle mi nic nevypisuje
xerno
Profil
Mastodont
Tak předhoď svoje řešení, mě to takhle zatim stačí XD
AM_
Profil
xerno
Tak předhoď svoje řešení, mě to takhle zatim stačí XD
slyšel jsi o INT?

mysql_select_db("data1"
1146: Table 'databaze.pocitadlo' doesn't exist
Tady je něco nějak divně.

Jinak to setcookie ti nebude fungovat nikdy, protože před tím máš echo. Setcookie musí jít v hlavičkách a v momentě, kdy pošleš něco na výstup (echo), už si nezahlavičkuješ.
xerno
Profil
setcookie ti nebude fungovat nikdy, protože před tím máš echo
na ic.cz funguje - konkrétně tady
to s tim data1 a databaze - jen nezobrazuju názvy co mam v původnim scriptu XD tak sem se dopustil omylu, pardon...
slyšel jsi o INT“ - slyšel, ale nikdy nepoužil...
Alphard
Profil
xerno:
Podívejte se do phpMyAdmina, phpMinAdmina nebo kamkoliv jinam, jestli ho nemáte, tak si ho nainstalujte. Do budoucna je neúnostné tvořit bez nějakého správce databáze.
Konkrétně zkontrolujte, jestli správně vytvořená tabulka ve správné databázi.

Mastodont měl na mysli, že je nesmysl ukládat číslo do textového datového typu. INT je číselný typ a je pro ukládání čísel vhodnější.

Setcookie skutečně po tom echu nemůže fungovat. Nevím, jak to máte udělané na té odkazované stránce, ale tohle fakt nepůjde.
xerno
Profil
Alphard
1. PhpMyAdmina mám, skutečně je to vytvořeno kde to má být.

2. Uvidíme, až se vyřeší problém, změním to...

3. Takto to mám :)
Alphard
Profil
xerno:
PhpMyAdmina mám, skutečně je to vytvořeno kde to má být.
Za těchto okolností se není čeho chytit.
Ale není možné, aby ta tabulka byla vytvořená ve správné databázi a zároveň to psalo chybu 1146: Table 'databaze.pocitadlo' doesn't exist.

Dle názvů, které skutečně skutečně máte, zkontrolujte, jestli databáze a tabulka skutečně sedí podle phpMyAdmin. Vím, že je to furt to stejné dokola, ale nevím, co jiného radit.
Alphard
Profil
Ještě mě něco napadlo, nemáte třeba dva a více databázových strojů na localhostu, že by se PHP i phpMyAdmin připojovaly k např. k jiné verzi databáze? Ale to by se musely určovat i porty, tudíž to nepovažuji za pravděpodobné.
xerno
Profil
Alphard
Tak z toho poslední příspěvku se mi zamotala hlava :D tak daleko opravdu ještě nejsem. Ale jak bylo řečeno, mám to v pořádku, ještě jsem to zkusil 2x vytvořit a i když zvolím jinou databázi (na gigaserveru mám 3), házelo to stejnou chybu. Je to zvláštní, vše ostatní co v databázích mám mi funguje (přihlášení, redakční systém, atd...). Zkusím to odznova, znovu napíšu kód, počítadlo umístím do hlavičky, zvolím jiná jména a použiju INT. Zítra dám vědět jak to dopadlo.
xerno
Profil
Ještě mě napadá, nebylo by moudřejší vytahovat data pomocí něčeho jinýho než je mysql_fetch_array() ?

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: