html/php-koodi ei ota yhteyttä tietokantaan

Hei!

Olen aloittelija tässä hommassa, joten hyvät neuvot ovat tarpeen.

Teen verryttelyharjoituksia erään oppaan (2003 painettu) avulla mutta koska opas on vanhempi kuin käyttämäni palikat (php, MySQL, Apache), seuraa ongelmia. Oppaan tekijän kotisivut ovat myös suljettu... *ärräpäitä*

Valmis PHP/html-koodi ei siis ota yhteyttä tietokantaan, mikä siinä voi mättää ja miten se korjataan? Tarkoitukseni olisi saada aikaan selaimen kautta hallittavat web-sivut ja yhdistellä ko. web-sivuun tietokantatoimintoja huvin ja oppimisen vuoksi.

Alusta: WinXP Pro
Versiot: Apache 2.0.52, PHP 5.0.2, MySQL 4.1
13854
Äänestä

Muut lukivat myös

Vastaukset 13

Vanhimmat

Ei yhteydenottaminen PHP:n avulla tietokantaan ole muuttunut pitkään aikaan, joten oppaasi tiedot ovat siltäosin oikeat.

*Valmis PHP/html-koodi ei siis ota yhteyttä tietokantaan, mikä siinä voi mättää ja miten se korjataan?*

Vika voi olla vaikka missä, joten kerroppas ensiksi minkä virheilmoituksen PHP sanoo, auttaa kummasti, sekä koodinpätkäkin.

Tutustuppas http://ohjelmointiputka.net/opas.php?tunnus=phpj8

Äänestä
  • No siinähän se onkin kun se ei valita mitään, selain ei vain näytä mitään. No manuaaleja lukiessani huomasin, että Apachesta mahdollisesti puuttuu pari riviä asetuksia, jos ne CGI-jutut nyt tähän kuuluvat?

    Tuo opaskirja asennusohjeineen on siinä mielessä turha, että sen mukanaan antamat palikat tähän juttuun on enemmänkin suunniteltu w2k/ME koneille kuin XP:lle. Tuli kokeiltua.

    Käyn kyllä tarkastamassa jokaisen linkkivinkin joita annatte ;) Kiitos!

    Äänestä

  • ihmettelen edelleen kirjoitti:

    No siinähän se onkin kun se ei valita mitään, selain ei vain näytä mitään. No manuaaleja lukiessani huomasin, että Apachesta mahdollisesti puuttuu pari riviä asetuksia, jos ne CGI-jutut nyt tähän kuuluvat?

    Tuo opaskirja asennusohjeineen on siinä mielessä turha, että sen mukanaan antamat palikat tähän juttuun on enemmänkin suunniteltu w2k/ME koneille kuin XP:lle. Tuli kokeiltua.

    Käyn kyllä tarkastamassa jokaisen linkkivinkin joita annatte ;) Kiitos!

    Valittaa se, mutta sinulla on vain virheilmoitukset piilotettu ;)) Lisää turvallisuutta palvelimissa. Virheilmoitukset löytyvät error.log tiedostosta, se on apachen/logs hakemistossa.

    Noista CGI-jutuista ei kannata välittää, sillä olet asentanut PHP:n moduulina. httd.conf tiedostoon laitoit varmaankin jotain tänsuuntasta?

    LoadModule php5_module E:\serveri\php\php5apache2.dll
    AddType application/x-httpd-php .php

    Ja olet varmaankin siirtänyt php.ini tiedoston Apache/bin hakemistoon, niin muokkaa sieltä seuraavat rivit.

    display_errors = Off vaiha tilalle On
    Katso ettet muuta vahingossa riviä missä on ; edessä, sillä ne ovat kommentteja jne... joilla ei ole mitään vaikutusta PHP:n toimintaan.

    Sekä poista ; merkki seuraavan rivin edestä
    ;extension=php_mysql.dll (lisää tarvittavan kirjaston/laajennuksen) jotta myslin käyttö onnistuu.

    Sekä muuta allaolevaan oikea polku mistä laajennukset löytyvät
    extension_dir = "\"
    esim extension_dir = "e:\serveri\php\ext\"


    Käynistä Apache uudestaan, nyt pitäisi näkyä selaimella virheilmoitukset, sekä mysli kirjasto asennettu, ellet sitä ole tehnyt.

    Äänestä

  • -----------... kirjoitti:

    Valittaa se, mutta sinulla on vain virheilmoitukset piilotettu ;)) Lisää turvallisuutta palvelimissa. Virheilmoitukset löytyvät error.log tiedostosta, se on apachen/logs hakemistossa.

    Noista CGI-jutuista ei kannata välittää, sillä olet asentanut PHP:n moduulina. httd.conf tiedostoon laitoit varmaankin jotain tänsuuntasta?

    LoadModule php5_module E:\serveri\php\php5apache2.dll
    AddType application/x-httpd-php .php

    Ja olet varmaankin siirtänyt php.ini tiedoston Apache/bin hakemistoon, niin muokkaa sieltä seuraavat rivit.

    display_errors = Off vaiha tilalle On
    Katso ettet muuta vahingossa riviä missä on ; edessä, sillä ne ovat kommentteja jne... joilla ei ole mitään vaikutusta PHP:n toimintaan.

    Sekä poista ; merkki seuraavan rivin edestä
    ;extension=php_mysql.dll (lisää tarvittavan kirjaston/laajennuksen) jotta myslin käyttö onnistuu.

    Sekä muuta allaolevaan oikea polku mistä laajennukset löytyvät
    extension_dir = "\"
    esim extension_dir = "e:\serveri\php\ext\"


    Käynistä Apache uudestaan, nyt pitäisi näkyä selaimella virheilmoitukset, sekä mysli kirjasto asennettu, ellet sitä ole tehnyt.

    Juu, error viestit toimii nyt, kiitos! Testaan vielä tuota tietokantayhteyttä uudemman kerran kun ehdin... ;)

    Äänestä

sinne httpd tiedostoon pitää koodata jotain, mut ei muista et mitä.

Jostai linuxin sivuilta löytyi joku valmis koodinpätkä ja sitten copy/paste httpd tiedostoon.

google -> httpd

siis jos ongelma oli tää, voi tietysto olla mikä vaan.

Äänestä
  • niin no windows puolesta en osaa sanoa mitään, toi oli siis linuxille :)

    Äänestä

Saattaa olla melkoisen tyhymä kysymys mutta heittää vielä(kin) tällaista herjaa:
Access denied for user 'ODBC'@'localhost'

Kuinkas minä tuon fiksaan? Tuo MySQL:n asennuswizardi kun "pakottaa" luomaan pääkäyttäjän ja sille salasanan. Joka paikassa sitten taas sanotaan, että "älä luo salasanaa".

Taidan luovuttaa tältä päivältä... Tuohan se ongelma taisi olla alunperinkin vaan kun en osannut etsiä sitä herjaa *huoh*

Äänestä
  • Toi tarkoittaa yksinkertaisesti, että sinulla ei ole oikeuksia tietokantaan. Laita scriptiin se tunnus ja salasana minkä teit asennuksen yhteydessä. Jos jätit salasanan tyhjäksi, niin jätä se scriptissäkin tyhjäksi. Pääkäyttäjä on root



    Siitä on pitkän aikaa kun asensin myslin puhtaalle pöydälle, ja päivityksessä heitän aina vanhat taulut takas, jolloin tunnukset pysyy myös samana.

    Eihän sitä salasanaa ole pakko luoda asennuksen yhteydessä, mutta se kannattaa luoda ihan turvallisuudenkin takia, vaikka kyse on vain koti/testikäytöstä.

    Kai noissa ohjeissa kehotetaan olla luomatta salasanaa sentakia, et on helpompa testata scriptejä kun ei tartte salasana kirjoittaa sekä kantaa on helpompi hallita, ihan kuin olisi hirvittävän vaikeeta kirjoittaa salasana ;)



    Koitappas näin



    Suoraan PHP manuaalista varastettu ;)

    Äänestä

  • -----------... kirjoitti:

    Toi tarkoittaa yksinkertaisesti, että sinulla ei ole oikeuksia tietokantaan. Laita scriptiin se tunnus ja salasana minkä teit asennuksen yhteydessä. Jos jätit salasanan tyhjäksi, niin jätä se scriptissäkin tyhjäksi. Pääkäyttäjä on root



    Siitä on pitkän aikaa kun asensin myslin puhtaalle pöydälle, ja päivityksessä heitän aina vanhat taulut takas, jolloin tunnukset pysyy myös samana.

    Eihän sitä salasanaa ole pakko luoda asennuksen yhteydessä, mutta se kannattaa luoda ihan turvallisuudenkin takia, vaikka kyse on vain koti/testikäytöstä.

    Kai noissa ohjeissa kehotetaan olla luomatta salasanaa sentakia, et on helpompa testata scriptejä kun ei tartte salasana kirjoittaa sekä kantaa on helpompi hallita, ihan kuin olisi hirvittävän vaikeeta kirjoittaa salasana ;)



    Koitappas näin



    Suoraan PHP manuaalista varastettu ;)

    No juu, ei toimi vieläkään. Poistin ODBC asennuksen (mitä ei olisi kai tarvittukaan) mutta silti heittää herjaa:

    Warning: mysql_connect() [function.mysql-connect]: Client does not support authentication protocol requested by server; consider upgrading MySQL client in C:\Program Files\Apache Group\Apache2\htdocs\test_mysql.php on line 5

    Warning: mysql_create_db() [function.mysql-create-db]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\Program Files\Apache Group\Apache2\htdocs\test_mysql.php on line 9

    Warning: mysql_create_db() [function.mysql-create-db]: A link to the server could not be established in C:\Program Files\Apache Group\Apache2\htdocs\test_mysql.php on line 9

    Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in C:\Program Files\Apache Group\Apache2\htdocs\test_mysql.php on line 15

    Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\Program Files\Apache Group\Apache2\htdocs\test_mysql.php on line 25
    Access denied for user 'ODBC'@'localhost' (using password: NO)

    Googletin ja löysin tästä linkistä http://internetmaster.com/installtutorial/ lisää ohjeita mutta ei silti pelitä. En tajua.

    Äänestä

  • ihmettelee... kirjoitti:

    No juu, ei toimi vieläkään. Poistin ODBC asennuksen (mitä ei olisi kai tarvittukaan) mutta silti heittää herjaa:

    Warning: mysql_connect() [function.mysql-connect]: Client does not support authentication protocol requested by server; consider upgrading MySQL client in C:\Program Files\Apache Group\Apache2\htdocs\test_mysql.php on line 5

    Warning: mysql_create_db() [function.mysql-create-db]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\Program Files\Apache Group\Apache2\htdocs\test_mysql.php on line 9

    Warning: mysql_create_db() [function.mysql-create-db]: A link to the server could not be established in C:\Program Files\Apache Group\Apache2\htdocs\test_mysql.php on line 9

    Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in C:\Program Files\Apache Group\Apache2\htdocs\test_mysql.php on line 15

    Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\Program Files\Apache Group\Apache2\htdocs\test_mysql.php on line 25
    Access denied for user 'ODBC'@'localhost' (using password: NO)

    Googletin ja löysin tästä linkistä http://internetmaster.com/installtutorial/ lisää ohjeita mutta ei silti pelitä. En tajua.

    Miks sulla on ODBC käyttäjänä, se on root ellet ole tehnyt uutta.

    Onkos sinulla varmasti uusin mysli 4.17?
    Ja uusimmat ODBC-ajurit http://dev.mysql.com/downloads/connector/odbc/3.51.html


    Joku asetus sulla on myslissä melkein varmaan väärin, sillä yhteys Apachelta mysliin onnistuu. Mitä tossa linkissä neuvotaan käyttäjien luomisesta, niin ennen sitä kannattaa testata root tunnuksella toimiiko kaikki oikein.

    Poistappas Apache,PHP, mysli ja asennat jonkun kitin täältä http://hotscripts.com/PHP/Software_and_Servers/Installation_Kits/index.html mutta kiteissä tulee ylimäärästä paljon mukana joten kannattaa katsoa mitä tarttee.

    Äänestä

  • -----------... kirjoitti:

    Miks sulla on ODBC käyttäjänä, se on root ellet ole tehnyt uutta.

    Onkos sinulla varmasti uusin mysli 4.17?
    Ja uusimmat ODBC-ajurit http://dev.mysql.com/downloads/connector/odbc/3.51.html


    Joku asetus sulla on myslissä melkein varmaan väärin, sillä yhteys Apachelta mysliin onnistuu. Mitä tossa linkissä neuvotaan käyttäjien luomisesta, niin ennen sitä kannattaa testata root tunnuksella toimiiko kaikki oikein.

    Poistappas Apache,PHP, mysli ja asennat jonkun kitin täältä http://hotscripts.com/PHP/Software_and_Servers/Installation_Kits/index.html mutta kiteissä tulee ylimäärästä paljon mukana joten kannattaa katsoa mitä tarttee.

    Koitappas http://dev.mysql.com/doc/mysql/en/Old_client.html ohjeiden mukaan.

    Äänestä

  • ihmettelee... kirjoitti:

    No juu, ei toimi vieläkään. Poistin ODBC asennuksen (mitä ei olisi kai tarvittukaan) mutta silti heittää herjaa:

    Warning: mysql_connect() [function.mysql-connect]: Client does not support authentication protocol requested by server; consider upgrading MySQL client in C:\Program Files\Apache Group\Apache2\htdocs\test_mysql.php on line 5

    Warning: mysql_create_db() [function.mysql-create-db]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\Program Files\Apache Group\Apache2\htdocs\test_mysql.php on line 9

    Warning: mysql_create_db() [function.mysql-create-db]: A link to the server could not be established in C:\Program Files\Apache Group\Apache2\htdocs\test_mysql.php on line 9

    Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in C:\Program Files\Apache Group\Apache2\htdocs\test_mysql.php on line 15

    Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\Program Files\Apache Group\Apache2\htdocs\test_mysql.php on line 25
    Access denied for user 'ODBC'@'localhost' (using password: NO)

    Googletin ja löysin tästä linkistä http://internetmaster.com/installtutorial/ lisää ohjeita mutta ei silti pelitä. En tajua.

    Eli se ei tue myslin uutta salausta.

    Pistä ODBC:lle vanhan tyyppinen salasana kantaan:

    mysql> UPDATE user SET Password = OLD_PASSWORD('salasana')
    -> WHERE Host = 'localhost' AND User = 'ODBC';
    mysql> FLUSH PRIVILEGES;


    ja sitten yhdistät käyttäen salasanaa "salasana"

    Itse tein noin, kun on liian laiska päivittämään clienttiä

    Äänestä

  • -----------... kirjoitti:

    Miks sulla on ODBC käyttäjänä, se on root ellet ole tehnyt uutta.

    Onkos sinulla varmasti uusin mysli 4.17?
    Ja uusimmat ODBC-ajurit http://dev.mysql.com/downloads/connector/odbc/3.51.html


    Joku asetus sulla on myslissä melkein varmaan väärin, sillä yhteys Apachelta mysliin onnistuu. Mitä tossa linkissä neuvotaan käyttäjien luomisesta, niin ennen sitä kannattaa testata root tunnuksella toimiiko kaikki oikein.

    Poistappas Apache,PHP, mysli ja asennat jonkun kitin täältä http://hotscripts.com/PHP/Software_and_Servers/Installation_Kits/index.html mutta kiteissä tulee ylimäärästä paljon mukana joten kannattaa katsoa mitä tarttee.

    No niin, se kit toimii toistaiseksi. Otin sellaisen kitin, jossa ovat vain kaikkein välttämättömimmät osat eli ApacheMySQLPHP. Leikin nyt sillä ja kokeilen myöhemmin (kun osaamista on ehkä karttunut) pystyttää kaiken ihan uudelleen palasista.

    Tuo vanha client -kiertojuttu ei toiminut sekään mutta sehän on saattanut mennä vituralleen jo aikaisemmin (todennäköistä) palikoiden konfaamisessa. Harhauttaa kun toisille lisättäville riveille on hyvinkin tarkat paikat ja sitten joku PHPIniDir pitää "vain laittaa sinne jonnekin" ;)

    No palaan taas kun on kysyttävää, kiitos avustanne ! =D

    Äänestä

Kommentoi aloitusta


ihmettelen kovin kirjoitti:

Hei!

Olen aloittelija tässä hommassa, joten hyvät neuvot ovat tarpeen.

Teen verryttelyharjoituksia erään oppaan (2003 painettu) avulla mutta koska opas on vanhempi kuin käyttämäni palikat (php, MySQL, Apache), seuraa ongelmia. Oppaan tekijän kotisivut ovat myös suljettu... *ärräpäitä*

Valmis PHP/html-koodi ei siis ota yhteyttä tietokantaan, mikä siinä voi mättää ja miten se korjataan? Tarkoitukseni olisi saada aikaan selaimen kautta hallittavat web-sivut ja yhdistellä ko. web-sivuun tietokantatoimintoja huvin ja oppimisen vuoksi.

Alusta: WinXP Pro
Versiot: Apache 2.0.52, PHP 5.0.2, MySQL 4.1

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu