Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: mysgl taulukon luominen php:lla

Sivun loppuun

Axuu [10.03.2005 22:09:15]

#

Lueskelin php:n mysql opasta, mutta en saa tehtyä uutta taulukkoo tietokantaan alla oleva koodipätkä ei löydä tietokantaa, miks se ei tee taulukkoo?

<?php
//muodostetaan yhteys tietokantapalvelimeen
$yhteys = mysql_connect() or die("Yhdistäminen ei onnistunut!");

//tehdään taulukko
mysql_query("CREATE TABLE varasto (nimi TEXT, hinta INT(6), maara INT(4))");

//valitaan tietokanta "testi"
mysql_select_db("varasto", $yhteys) or die("Tietokantaa ei löytynyt!") Or die(mysql_error());

//suljetaan yhteys
mysql_close($yhteys);
?>

jostain koodivinkeist löysin toisen, mut sekään ei toiminut, lykkäsin sen yhdistämisen jälkeen: (se valittaa parse errorista)

CREATE TABLE `uutiset` (
  `aika` varchar(25) NOT NULL default '',
  `sender` varchar(150) NOT NULL default '',
  `otsikko` varchar(50) NOT NULL default '',
  `uutinen` text NOT NULL,
  `id` int(5) NOT NULL auto_increment,
  PRIMARY KEY  (`id`)
) TYPE=MyISAM;

Komentoriviltä kirjoiettuna taulokon lisääminen ei myöskään toiminut, kirjoitin sinne niin kuin php:N tietokanta oppaassa oli

Yhteyden se kuitenkin näytti saavan tietokantaan.

EDIT: MySql:län versio on 4.1 ja apachen on 2.0.53 (win)
EDIT2: die rivi

ajv [10.03.2005 22:35:05]

#

Laita tuonne varsinaisen kyselynkin perään vielä or die(mysql_error());, vaikka ei siinä mitään virhettä äkkisellään katottuna ole.

Edit: Äh, niin tietenkin, tuo kannan valinta :)

jrantala [10.03.2005 22:36:43]

#

Eikös kanta pitäisi valita ennen kyselyn suorittamista? :)

Axuu [10.03.2005 22:39:56]

#

"No database selected"(nyt dien lisäyksen jälkeen virheilmoitus), Miten se pitäis sit valita?

Kanta valita ennen?, siis rivit toistepäin vai miten? (ei auttanu) oon noob

Olga [10.03.2005 22:46:55]

#

Sun pitää tyrkätä tuonne mysql_connect-funktioon parametreina tietokannan nimi, tunnari ja salasana... :)

Axuu [10.03.2005 22:50:41]

#

Itse sain oppaista sellaisen käsityksen, että jos jättää tyhjäksi niin localhostiin mennee, ilman salasanaa. Ja sehän yhdistää...

Tarkoitatko palvelimen nimi?

Juice [10.03.2005 22:53:42]

#

Valitse tietokanta ennenkuin suoritat kyselyn.

<?php
//muodostetaan yhteys tietokantapalvelimeen
$yhteys = mysql_connect() or die("Yhdistäminen ei onnistunut!");



//valitaan tietokanta "testi"
mysql_select_db("varasto", $yhteys) or die("Tietokantaa ei löytynyt!") Or die(mysql_error());

//tehdään taulukko
mysql_query("CREATE TABLE varasto (nimi TEXT, hinta INT(6), maara INT(4))");
//suljetaan yhteys
mysql_close($yhteys);
?>

ajv [10.03.2005 22:54:50]

#

Axuu kirjoitti:

Itse sain oppaista sellaisen käsityksen, että jos jättää tyhjäksi niin localhostiin mennee, ilman salasanaa. Ja sehän yhdistää...

Ja ilman konffausta myslin rootin tunnus ja salasana ovat käsittääkseni tyhjät, joten kyllä tuo varmaankin toimii ilman mitään parametrejäkin, varsinkin jos se ei kerta "kuole" sille riville.

Axuu [10.03.2005 22:57:18]

#

Juice kirjoitti:

Valitse tietokanta ennenkuin suoritat kyselyn.

Axuu kirjoitti:

Kanta valita ennen?, siis rivit toistepäin vai miten? (ei auttanu) oon noob

siis sanoin tos "ei auttanut", eikä edelleenkään auta.

Edit ajv: joo laitoin ne salasanat pois, ja se kyllä yhdistää siihen.

ajv [10.03.2005 23:00:22]

#

Sulla pitää myös olla siellä joku kanta:

<?php
//muodostetaan yhteys tietokantapalvelimeen
$yhteys = mysql_connect() or die("Yhdistäminen ei onnistunut!");

//tehdään kanta
mysql_query("CREATE DATABASE IF NOT EXISTS `Axuu`",$yhteys) or die(mysql_error());

//valitaan tietokanta "Axuu"
mysql_select_db("Axuu", $yhteys) or die("Tietokantaa ei löytynyt!") Or die(mysql_error());

//tehdään taulukko
mysql_query("CREATE TABLE IF NOT EXISTS varasto (nimi TEXT, hinta INT(6), maara INT(4))",$yhteys);

//suljetaan yhteys
mysql_close($yhteys);
?>

Axuu [10.03.2005 23:08:29]

#

ajv kiitti!,ihme ettei Antti ollut laittanut tota MySQL:llä oppaaseensa. (no ei sen pitänytkään olla ku joku johdatus)

Toimii nyt!, onneks tääl putkas on ahkeria vastaajia.


Sivun alkuun

Vastaus

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

Tietoa sivustosta