Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: mysql-palvelimelle pääsy

eija [08.02.2011 13:21:07]

#

Hei!
Php -koodini toimii normaalisti osoitteessa www.xxxxxxx.fi. Kun yritän käyttää samaa osoitetta yhdistyäkseni MySQL -palvelimelle:

$this->yhteys = mysql_connect("http://www.xxxxxxx.fi","xxxxxxx_eija","vertrigo");

ei onnistu, vaan tulee virheilmo: Warning: mysql_connect() [function.mysql-connect]: Unknown MySQL server host 'http' (1) in /home/xxxxxxx/public_html/tietokanta_luokka.php on line 12
Yhteyttä MySQL-tietokantaan ei saatu

Localhostissa onnistuu, eli koodissani ei ole muuta virhettä kuin tuo tietokantapalvelimen osoite. Käytän tuota www.xxxxxxx.fi palvelinta cPanelin kautta.

Mikähän mahtaisi olla se oikea MySQL-palvelimen osoite?

Grez [08.02.2011 13:24:55]

#

eija kirjoitti:

$this->yhteys = mysql_connect("http://www.xxxxxxx.fi","xxxxxxx_eija","vertrigo");

Localhostissa onnistuu, eli koodissani ei ole muuta virhettä kuin tuo tietokantapalvelimen osoite.

Siis localhostinkin edessä on tuo sama http:// ? Jotenkin en nyt ihan usko.

mysql_connectin ensimmäinen parametri on palvelimen nimi, ei URL.

eija [08.02.2011 13:40:24]

#

Muutin koodiani

$this->yhteys = mysql_connect("xxxxxxx.fi","xxxxxxx_eija","vertrigo");

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'xxxxxx_eija'@'zz.zz.zzz.6zz' (using password: YES) in /home/xxxxxxxx/public_html/tietokanta_luokka.php on line 12
Yhteyttä MySQL-tietokantaan ei saatu.

Eli pääsin askeleen taas eteenpäin :) Täytyy laittaa itselleen MySQL palvelimen käyttäjänä kunnon oikeudet. Ihme, että cPanelissa laittamani kaikki mahdolliset oikeudet eivät riitä.

(localhost on ilman http/www.:ttä)

phpAdminista löytyi tällaista infoa:
Server: Localhost via UNIX socket
Server version: 5.0.89-community
Protocol version: 10
User: xxxxxxxx@localhost
MySQL charset: UTF-8 Unicode (utf8)
Täyttä hepreata


Ei näytä tämäkään onnistuvan, enkä oikein uskalla käyttää pääkäyttäjän salasanaa tähän...

makumaku [08.02.2011 14:25:25]

#

Eli ilmeisesti käytät mysql:ää (ja myös php:tä) jossakin webhotellissa?
Eikös palveluntarjoaja tällöin anna aina kaikki tunnukset, palvelimien nimet jne..
Mysql-palvelimen osoite ei välttämättä ole sama kuin domain-osoite. Jos domain on www.xxxxxx.fi, niin mysql palvelimen osoite voi olla vaikka mysql142.xxxxxxxx.fi tai jotain muuta kun domain nimi.

Sanoit että localhostissa onnistuu. Eli käytit siis oman koneen web-serveriä ja mysql-serveriä. Tuossa toimimattomassa tilanteessa, ajatko silloinkin php:tä localhostissa ja yrität ottaa yhteyttä ulkoiselle palvelimelle. Useissa webhotelleissa taitaa olla käytäntö että ulkoa päin ei voi ottaa yhteyttä, vaan yhteys pitää ottaa hotellin sisältä esim localhost osoitteeseen, eli php pitää ajaa webhotellin levytilasta.

Eli kokeile vaikka laittaa mysql-palvelimen osoitteeksi www.xxxxxxx.fi tai sitten localhost (jos php:tä ajetaan webhotellin kautta).

eija [08.02.2011 14:44:27]

#

$this->yhteys = mysql_connect('localhost','xxxxxx_eija','vertrigo');

Kiitos neuvosta, nyt toimii!

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta