Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: MySQL - Kirjoittaminen ei onnistu

Sivun loppuun

Tontttu [18.05.2006 16:18:51]

#

Kun yritän scriptissä tehdä tietokantaan taulun, se ei onnistu. Noh, mä teen sen sitten käsin. Koitanpa sit tallentaa sinne scriptin kautta tietoa - ei onnistu. Mutta kun lisään tiedon tauluun käsin, se kyllä tulostuu oikein. Missä vika?

Scriptit kyllä on toimivia, kokeilemani on otettu joko täältä, tai kirjasta.

PHPInfo varmaan kiinnostaa teitä. Se löytyy täältä.

-Toni

str4nd [18.05.2006 16:26:59]

#

https://www.php.net/mysql_connect
https://www.php.net/mysql_select_db
https://www.php.net/mysql_query
...
Kertoisit paremmin, niin voitaisiin auttaa sinua. ;)

Lebe80 [18.05.2006 16:54:40]

#

Saako php luotua yhteyden mysql-kantaan (onnistuuko yhteyden otto)?

Onko kannalle luotu käyttäjät?
Onko käyttäjällä oikeudet tehdä toimintoa, jota yrität tehdä?

Minkä errorin mysql antaa?

Tontttu [18.05.2006 17:42:39]

#

Onnistuu yhteyden otto.

$yhteys = mysql_connect() or die("Yhdistäminen ei onnistunut!");
mysql_select_db("testi", $yhteys) or die("Tietokantaa ei löytynyt!");

Tuohan antaa virheilmotuksen, jos ei onnistu. Ja eihän onnistunut tiedon hakeminenkaan toimisi, jos ei olisi yhteyden otto onnistunut. Esille tulee pelkkä tyhjä sivu, mitään ei oo tietokannalle tapahtunut.

Tuosta oikeudesta en osaa sanoa mitään...

Olga [18.05.2006 18:49:59]

#

Jätitkö tarkoituksella pois nuo mysql_connect-funktion parametrit?

Tontttu [18.05.2006 20:28:32]

#

Jätin.

Olga [18.05.2006 22:41:59]

#

No pistähän koko koodirimpsu näkyville, näiden tietojen perusteella on paha sanoa mitään.

str4nd [19.05.2006 07:19:18]

#

Olga kirjoitti:

Jätitkö tarkoituksella pois nuo mysql_connect-funktion parametrit?

Tontttu kirjoitti:

Jätin.

mysql.default_host no value no value
mysql.default_password no value no value
mysql.default_port no value no value
mysql.default_user no value no value

Laitahan mysql_connect-funktion sisälle tietokanta, käyttäjä ja salasana, niin saisit sen homman toimimaan, koksa sinulla ei ollut oletusarvoja php:n asetustiedostoissa. Mieti vähän, ennen kuin alat jättämään "tarkoituksella" kaikkea pois.

Olga [19.05.2006 10:57:08]

#

Minä ymmärsin että hän jätti ne tarkoituksella pois kirjoittaessaan viestiä tänne ja että ne alkuperäisessä skriptissä oli :)

Tontttu [19.05.2006 11:08:19]

#

Varmaan tänne pistänki salasanat teijä näkyville ;) Tästä keskustelusta jätin tarkoituksella pois. Juuri niin, kuin Olga sanoi. :)

Yhteyden se kyllä saa muodostettua, koska tietokannasta luku onnistuu. Minkäänlainen tietokantaan tallennus ei kutienkaan onnistu.

ajv [19.05.2006 11:15:45]

#

mysql_query('INSERT INTO ...') or die(mysql_error());
on hyvä debuggaus-keino. Antaako tietokanta jotain virhettä?

lapm [19.05.2006 11:57:27]

#

Tontttu kirjoitti:

Varmaan tänne pistänki salasanat teijä näkyville ;) Tästä keskustelusta jätin tarkoituksella pois. Juuri niin, kuin Olga sanoi. :)

Yhteyden se kyllä saa muodostettua, koska tietokannasta luku onnistuu. Minkäänlainen tietokantaan tallennus ei kutienkaan onnistu.

Oletko antanut tälle "käyttäjälle" jolla skriptisi kantaa käsittelee oikeudet lisätä sinne kantaan yhtään mitään?

Olisi meinaan klassinen moka unohtaa antaa kannan käyttäjälle riittävät oikeudet. :P

Tontttu [19.05.2006 14:30:47]

#

lapm kirjoitti:

Tontttu kirjoitti:

Varmaan tänne pistänki salasanat teijä näkyville ;) Tästä keskustelusta jätin tarkoituksella pois. Juuri niin, kuin Olga sanoi. :)

Yhteyden se kyllä saa muodostettua, koska tietokannasta luku onnistuu. Minkäänlainen tietokantaan tallennus ei kutienkaan onnistu.

Oletko antanut tälle "käyttäjälle" jolla skriptisi kantaa käsittelee oikeudet lisätä sinne kantaan yhtään mitään?

Olisi meinaan klassinen moka unohtaa antaa kannan käyttäjälle riittävät oikeudet. :P

Mä en oo kuullukkaan tommosest :D Miten se onnistuu?

str4nd [22.05.2006 06:57:41]

#

REVOKE ALL PRIVILEGES ON `kanta` . * FROM 'käyttäjänimi'@ 'servu';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON `kanta` . * TO 'käyttäjänimi'@ 'servu';

Tällä voit päivittää tietyn kannan käyttöoikeudet yhdelle käyttäjälle (kanta = tietokanta, 'käyttäjänimi'@'servu' = käyttäjänimi)
Tuossa laitoin esimerkiksi muutamia perusjuttuja.


Sivun alkuun

Vastaus

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

Tietoa sivustosta