Problem z odczytem rekordów MySQL

0

Od jakiegoś czasu uczę się PHP z kursu na webhosting.pl (choć muszę przyznać że nie jest on najlepszy) no i przyszedł czas na obsługę MySQL. Za pomocą kilku poleceń w tymczasowym pliku starannie utworzyłem w bazie nową relację z różnymi typami atrybutów i dodałem do niej kilka rekordów, a potem utworzyłem plik w którym za pomocą mysql_fetch_array() ślicznie w pętli tworzyło tabelkę wypełnioną danymi z tej bazy. Niestety ciągle coś było nie tak więc zamiast tego w jednym pliku stworzyłem od nowa prostą relację na 3 atrybuty, cośtam dodałem i od razu próbowałem to wyświetlić bez żadnych fajerwerków, żeby tylko sprawdzić czy tym razem zadziała. Niestety mysql_error() wyrzucił lakoniczne "No database selected" co równie dobrze może oznaczać że coś źle wpisałem albo że po prostu tej bazy nie utworzył albo kto tam wie co jeszcze. Wywaliłem więc to "or die" i tym razem pokazało mi dużo pomocniejsze "supplied argument is not a valid MySQL result resource". Na ten temat wprawdzie znalazłem trochę tematów na forum ale w większości po prostu ktoś zapomniał średnika albo odpowiedzi były w stylu "zrób warunek żeby nie wykonywał mysql_fetch_array() jeśli coś pójdzie nie tak", a ja właśnie chciałbym wiedzieć dlaczego coś poszło nie tak. Z warninga wynika tyle że zapytanie nie zwróciło poprawnego wyniku ale za nic nie potrafię się doszukać przyczyny choć całość zawiera się w poniższym kodzie. Wiem że raczej loguje się poprawnie bo gdy zmieniłem hasło na Yoyo ale zapomniałem zmienić w kodzie to wyskoczył warning dla mysql_connect(). Podejrzewam że coś idzie nie tak podczas tworzenia bazy bo ta komenda z tutoriala nie chciała działać a druga (ta z query) coś mi się nie podoba, no ale to tylko moje domysły...

<?php
$baza=mysql_connect('mysql2.yoyo.pl','xxx','xxx');
//mysql_create_db("bleble",$baza); - te polecenie nie działało
mysql_query("CREATE DATABASE bleble"); // te niby zadziałało, tj. w sensie że nie wyskoczył żaden warning i tyle
mysql_select_db("bleble", $baza);
$nowa=mysql_query("CREATE TABLE costam (jeden varchar(20), dwa varchar(20), trzy int, PRIMARY KEY(jeden))");
$dodaj=mysql_query("INSERT INTO costam (jeden, dwa, trzy) VALUES ('rgrgr', 'grgrgrg', '69')");
$dodaj=mysql_query("INSERT INTO costam (jeden, dwa, trzy) VALUES ('hthth', 'gvrgr', '47')");
$dodaj=mysql_query("INSERT INTO costam (jeden, dwa, trzy) VALUES ('ththt', 'rgrgr', '37')");
$dodaj=mysql_query("INSERT INTO costam (jeden, dwa, trzy) VALUES ('htht', 'trhth', '53')");
$dodaj=mysql_query("INSERT INTO costam (jeden, dwa, trzy) VALUES ('hthth', 'hthth', '14')");

$zap="SELECT * FROM costam";
$wyb=mysql_query($zap) or die(mysql_error());
while($krot=mysql_fetch_array($wyb, MYSQL_NUM))
{
	echo $krot[0].$krot[1];
}

mysql_close($baza);
?>
0

Jezeli jestes na 100% pewny, ze polaczenie z baza jest wykonywane poprawnie (mozesz to sprawdzic - zmienna $baza zwroci wowczas wartosc true), to prawdopodobnie nie posiadasz uprawnien do tworzenia baz danych przy pomocy zapytania CREATE DATABASE.

1 użytkowników online, w tym zalogowanych: 0, gości: 1