Problem z połączeniem się z serwerem MySQL z poziomu PHP

Napisalem ponizsze pliki:

createmovie.php

<?php 

// połączenie z serwerem MySQL; użyliśmy własnych parametrów 

// w razie potrzeby zmień na inne 

$connect = mysql_connect("localhost", "bp5am", "bp5ampass") or 

die ("SprawdĽ połączenie z serwerem."); 

<?php 

// połączenie z serwerem MySQL; użyliśmy własnych parametrów 

// w razie potrzeby zmień na inne 

$connect = mysql_connect("localhost", "bp5am", "bp5ampass") or 

die ("SprawdĽ połączenie z serwerem."); 


// utwórz bazę danych, jeśli jeszcze nie istnieje 

$create = mysql_query("CREATE DATABASE IF NOT EXISTS moviesite") 

or die(mysql_error()); 


//wybierz nowo utworzoną bazę danych 

mysql_select_db("moviesite"); 


//utwórz tabelę "movie" 

$movie = "CREATE TABLE movie ( 

movie_id int(11) NOT NULL auto_increment, 

movie_name varchar(255) NOT NULL, 

movie_type tinyint(2) NOT NULL deafult 0, 

movie_year int(4) NOT NULL deafult 0, 

movie_leadactor int(11) NOT NULL deafult 0, 

movie_director int(11) NOT NULL deafult 0, 

PRIMARY KEY (movie_id), 

KEY movie_type (movie_type,movie_year) 

)"; 


$results = mysql_query($movie) 

or die (mysql_error()); 


// utwórz tabelę "movietype" 

$movietype = "CREATE TABLE movietype ( 

movietype_id int(11) NOT NULL auto_increment, 

movietype_label varchar(100) NOT NULL, 

PRIMARY KEY (movietype_id) 

)"; 


$results = mysql_query($movietype) 

or die(mysql_error()); 


//utwórz tabelę "people" 

$people = "CREATE TABLE people ( 

people_id int(11) NOT NULL auto_increment, 

people_fullname varchar(255) NOT NULL, 

people_isactor tinyint(1) NOT NULL deafult 0, 

people_isdirector tinyint(1) NOT NULL deafult 0, 

PRIMARY KEY (people_id) 

)"; 


$results = mysql_query($people) 

or die(mysql_error()); 


echo "Poprawnie utworzono bazę danych filmów!"; 

?>

moviedata.php

<?php 

//połączenie z serwerem MySQL 

$connect = mysql_connect("localhost", "bp5am", "bp5ampass") 

or die ("SprawdĽ połączenie z serwerem."); 


// uaktywnij odpowiednią bazę danych 

mysql_select_db("moviesite"); 


// wstaw dane do tabeli "movie" 

$insert = "INSERT INTO movie (movie_id, movie_name, movie_type, " . 

"movie_year, movie_leadactor, movie_director) " . 

"VALUES (1, 'Bruce Wszechmogący', 5, 2003, 1, 2), " . 

"(2, 'Życie biurowe', 5, 1999, 5, 6), " . 

"(3, 'Wielki Kanion', 2, 1991, 4, 3)"; 

$results = mysql_query($insert) 

or die(mysql_error()); 


// wstaw dane do tabeli "movietype" 

$type = "INSERT INTO movietype (movietype_id, movietype_label) " . 

"VALUES (1, 'Science-fiction'), " . 

"(2, 'Dramat'), " . 

"(3, 'Przygoda'), " . 

"(4, 'Wojenny'), " . 

"(5, 'Komedia'), " . 

"(6, 'Horror'), " . 

"(7, 'Akcja'), " . 

"(8, 'Dla dzieci')" ; 

$results = mysql_query($type) 

or die(mysql_error()); 


// wstaw dane do tabeli "people" 

$people = "INSERT INTO people (people_id, people_fullname, " . 

"people_isactor, people_isdirector) " . 

"VALUES (1, 'Jim Carrey', 1, 0), " . 

"(2, 'Tom Shadyc', 0, 1), " . 

"(3, 'Lawrence Kasdan', 0, 1), " . 

"(4, 'Kevin Kline', 1, 0), " . 

"(5, 'Ron Livingston', 1, 0), " . 

"(6, 'Mike Judge', 0, 1)"; 

$results = mysql_query($people) 

or die(mysql_error()); 

echo "Dane zostały wstawione poprawnie!"; 

?>

Po otwarciu creatuvemovie.php wyskakuje mi "Access denied for user ‘bp5am’@‘localhost’ to database ‘moviesite’ "

,a po otwarciu movie data.php wyskakuje mi “No data bases selected”.

Co jest nie tak?

kal7en , proszę poprawić tytuł tematu na konkretny, mówiący dokładniej o problemie. Duże fragmenty kodu proszę objąć znacznikiem

tak aby ułatwić czytanie. Niepoprawienie postu będzie skutkować usunięciem tematu.[/color]

Co do problemu. Wygląda na to, że użytkownik nie ma prawa do zakładania nowych baz danych. Zaloguj się na konto roota, popraw uprawnienia i wtedy spróbuj.

A mógł byś mi to wytłumaczyć krok po kroku. Co wpisać jak dokladnie pod moje pliki?

Czy korzystasz z serwera Apache zainstalowanego lokalnie?

Próbowałeś z nazwą użytkownika “root”?

Czy na pewno dobrze przyporządkowałeś dane (mysql_connect(serwer,login,hasło))?

Spróbuj usunąć cudzysłowy może to coś da.

Adwody1 , a co cudzysłów wspólnego? Natomiast budowanie skryptu pracując jako root… cóż, to nie jest najlepszy pomysł…

kal7en , najprościej będzie poczytać o tym jak działa GRANT i zrobić to z poziomu konsoli mysql, chyba, że do administrowania serwerem korzystasz z jakiegoś gotowego oprogramowania, wtedy to już zależy z czego korzystasz, ale opcja powinna się podobnie nazywać

Mi sie wydaje ze ja po prostu mam zle skonfigurowanego uzytkownika.Utworzylem go tak:

mysql> GRANT SELECT,INSERT,UPDATE

        ->ON *.*

        ->TO bp5am@localhost

        ->IDENTIFIED BY 'bp5ampass'

Dodane 25.08.2009 (Wt) 15:58

Dodam jeszcze ze ja to robie z ksiazka te srypty sa z niej przepisane tylko po prostu niema w niej dokladnego dodawania uzytkownika.Ksiazka kaze mi jeszcze zkopiwac na dysk C my-medium.cnf a ja mam my-medium.ini i kaze mi rowniez zmienic nazwe pliku na my.cnf to ja to robie z tym plikiem co mam. Niewiem czy to ma cos wspolnego z tymi bledami.

powinieneś był sobie nadać jeszcze uprawnienia do CREATE i DROP, warto też do ALTER