Autor | Zpráva | ||
---|---|---|---|
Ondrej Profil * |
#1 · Zasláno: 18. 6. 2011, 22:47:16
Zdravím!
Dnes jsem nainstaloval na PC (Ubuntu 10.10) PHP a MySQL. Chtěl jsem vyzkoušet, zda se PHP připojí k MySQL, ovšem nedaří se to. Vytvořil jsem testovací skriptík: zadám své jméno, PHP mi má vyplivnout příjmení nalézající se spolu se jménem v MySQL databázi. Takto vypadá kód: <?php $database=mysql_connect("localhost","root","heslo_k_databazi"); if (!$database) { die('Could not connect: ' . mysql_error()); } mysql_select_db("jmena"); $text=mysql_fetch_array(mysql_query("SELECT prijmeni FROM jmena WHERE jmeno = '".$_POST['name']."'")); echo $text['prijmeni']; ?> A podivné je, že se nic nezobrazí -- zcela prázdná stránka, ani žádná chybová hláška. Medle se PHP nedokáže připojit k MySQL. Tento problém jsem testoval na vzdáleném PHP serveru, kde vše běží jak má. Jak se prosím dá tato chyba odstranit? Čím je zapříčiněna? Děkuji! |
||
Alphard_ Profil * |
#2 · Zasláno: 18. 6. 2011, 22:54:01
Jste si jist, že se PHP k databázi nepřipojí? Selhal by connect a die by vypsalo hlášku...
Pravděpodobnější se mi zdá, že žádný záznam nevyhovuje podmínce apod. |
||
pavuk Profil |
#3 · Zasláno: 18. 6. 2011, 22:55:46
Tak já např. jsem stejnou věc dneska řešil asi tři hodiny, než jsem ani už nevím kde vyčetl že místo localhost mám zkusit zadat 127.0.0.1. Od tý chvíle to běží...
|
||
Ondrej Profil * |
#4 · Zasláno: 18. 6. 2011, 23:04:04
Aha, tak problém byl zase na mé straně. Do databáze i do toho <input> pole jsem zadával jméno "Ondřej" s diakritikou. Nyní jsem zkusil odebrat z databáze diakritiku a vložit pole též bez nabodeníček. A funguje to, bude tedy problém jinde, v samotné diakritice.
|
||
Ondrej Profil * |
#5 · Zasláno: 18. 6. 2011, 23:07:16
pavuk:
Ech, po připojení na 127.0.0.1 to vypíše hlášku: Could not connect: Lost connection to MySQL server at 'reading initial communication packet', system error: 111. |
||
pavuk Profil |
#6 · Zasláno: 18. 6. 2011, 23:09:55
Je to čirá magie....
|
||
Tori Profil |
#7 · Zasláno: 18. 6. 2011, 23:32:41
Ondrej:
„bude tedy problém jinde, v samotné diakritice.“ Stránka s formulářem, skript zpracovávající data i znaková sada pro spojení s DB (a asi i kódování dané tabulky/sloupce, myslím si) by se měly shodovat, -li se nepletu. V HTML je to tag <meta>, skript musí být v tom kódování uložený, pro spojení s DB se používá SQL dotaz "SET NAMES 'kódování'" (viz FAQ). |
||
Ondrej Profil * |
#8 · Zasláno: 19. 6. 2011, 09:35:38
Tori:
Výborně, děkuji, to pomohlo. Stačilo dát: mysql_set_charset("utf8"); Mimochodem, lze nějak databázi říci, aby pracovala v UTF-8? Používám phpMyAdmin a nastavím-li v konkrétní databázi porovnávání "utf8_czech_ci", nefunguje to. Samozřejmě jestliže nepoužiji onu funkci mysql_set_charset(). |
||
Časová prodleva: 13 let
|
0