Autor | Zpráva | ||
---|---|---|---|
Anonymní Profil * |
#1 · Zasláno: 13. 4. 2009, 22:10:07
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 |
#2 · Zasláno: 13. 4. 2009, 22:16:00
co píše mysql_error()?
|
||
xerno Profil |
#3 · Zasláno: 13. 4. 2009, 22:25:01
že tabulka neexistuje, což je dost zvláštní, protože phpMyAdmin říká že tam je... no a co ty chyby se setcookie?
|
||
Alphard Profil |
#4 · Zasláno: 13. 4. 2009, 22:27:26
chyby se setcookies jsou pouze důsledek výpisu této chyby
co píše mysql_error() po prvním mysql_query()? |
||
xerno Profil |
#5 · Zasláno: 13. 4. 2009, 22:32:44
1146: Table 'databaze.pocitadlo' doesn't exist
|
||
Alphard Profil |
#6 · Zasláno: 13. 4. 2009, 22:40:10
š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 |
#7 · Zasláno: 13. 4. 2009, 22:49:04
Mmch, vytvářet počitadlo jako VARCHAR? No fuj.
|
||
xerno Profil |
#8 · Zasláno: 13. 4. 2009, 22:54:41
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()); |
||
xerno Profil |
#9 · Zasláno: 13. 4. 2009, 22:59:09
Mastodont
Tak předhoď svoje řešení, mě to takhle zatim stačí XD |
||
AM_ Profil |
#10 · Zasláno: 13. 4. 2009, 23:10:55
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 |
#11 · Zasláno: 13. 4. 2009, 23:19:22
„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 |
#12 · Zasláno: 13. 4. 2009, 23:33:27
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 |
#13 · Zasláno: 13. 4. 2009, 23:37:24
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 |
#14 · Zasláno: 13. 4. 2009, 23:48:06
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 |
#15 · Zasláno: 13. 4. 2009, 23:53:11
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 |
#16 · Zasláno: 14. 4. 2009, 00:17:29
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 |
#17 · Zasláno: 14. 4. 2009, 00:19:34
Ještě mě napadá, nebylo by moudřejší vytahovat data pomocí něčeho jinýho než je mysql_fetch_array() ?
|
||
Časová prodleva: 15 let
|
0