ďťż

[MySQL] problem z tutorialem błąd w mysql_fetch_row()

       

Podstrony


telcocafe

wiem, że były już takie tematy, ale robiąc krok po kroku nie mogę dojść do tego co jest problemem w moim przypadku
znalazłem taki tutorial, Link i szczerze mówiąc wszystkie które znalazłem są takie same
// połączenie się lokalnym serwerem bazy MySQL $sql_conn = mysql_connect('localhost', 'admin', 'passwd'); // no tu wiem co trzeba wstawić, jestem pewien że robie to dobrze // w przypadku niepowodzenia połączenia zakończ aplikację or die('Nie mogłem połaczyć się z bazą danych'); mysql_create_db('zawodnicy'); // wybieramy bazę danych mysql_select_db('zawodnicy'); $idzapytania = mysql_query($zapytanie); // tworzymy tabelę nba $zapytanie = 'CREATE TABLE nba (id int NOT NULL AUTO_INCREMENT, nazwisko char(30), lata char(3), punkty char(3), mistrzostwa char(3), PRIMARY KEY(id))'; // dodajemy troche przykładowych danych $zapytanie = "INSERT INTO `nba` (`id`, `nazwisko`, `lata`, `punkty` , `mistrzostwa`) VALUES ('', 'Jordan', '13', '258', '48')"; $idzapytania = mysql_query($zapytanie); $zapytanie = "INSERT INTO `nba` (`id`, `nazwisko`, `lata`, `punkty` , `mistrzostwa`) VALUES ('', 'Pipen', '10', '123', '32')"; $idzapytania = mysql_query($zapytanie); $zapytanie = "INSERT INTO `nba` (`id`, `nazwisko`, `lata`, `punkty` , `mistrzostwa`) VALUES ('', 'O\'Neal', '10', '205', '50')"; $idzapytania = mysql_query($zapytanie); // wyświetlamy treść naszej tabeli $zapytanie = "SELECT `id`,`nazwisko`,`lata`,`punkty` FROM `nba`"; $idzapytania = mysql_query($zapytanie); echo '<table>'; while ($wiersz = mysql_fetch_row($idzapytania)) { echo '<tr><td>'. $wiersz[0] .'</td><td>'. $wiersz[1] .'</td>'.<td>'. $wiersz[2] .'</td><td>'. $wiersz[3] .'</td>'; } echo '<table>'; // zamykamy połączenie mysql_close($sql_conn);

troche to skróciłem i uprościłem, znalazłem bład w .'</td>'.<td>'. - nie powinno być chyba pogrubionych elementów

a błąd wyświetla taki: Fatal error: Call to undefined function mysql_create_db() in /home/m/a/r/marcin32/www/2/instalacja.php on line 9 - a przecież wsystko jest zgodnie z instrukcją

z góry dziękuję za pomoc
Użytkownik marcin32 edytował ten post 25 październik 2006, 21:11


pewno masz zabronione na serwie tworzenie bazy danych. albo wogole nie masz bazy.

mam już forum, bloga, wszystko sam ustawiałem i wszystko działa. Teraz zachciało mi sie odnowić stronke ale nie moge tego MySQL-a opanować
//
dobra, usunąłem tą linijke z tworzeniem nowej bazy danych, i wybieram już istniejącą
mysql_select_db('no i tu nazwa');
i wywala mi sie taki błąd:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/m/a/r/marcin32/www/2/instalacja.php on line 48
Użytkownik marcin32 edytował ten post 25 październik 2006, 20:58
Zamiast
mysql_create_db('zawodnicy');
użyj zwykłego zapytania, ale z treścią CREATE DATABASE... Pewnie ta funkcja jest przestarzała i dlatego nie działa. Poza tym taką linię:
$idzapytania = mysql_query($zapytanie);
masz w kodzie zanim jeszcze ustawisz wartość zmiennej $zapytanie.



$idzapytania = mysql_query($zapytanie); - a czy nie jest to przypadkiem deklaracja zmiennej $zapytanie - ? pytam się

czy mam jednak zmienić na coś takiego:

$zapytanie = mysql_select_db('zawodnicy');

$idzapytania = mysql_query($zapytanie);

edit // zmieniłem i nic
może zna ktoś sprawdzony kurs online, bez takich błędów? bo większość ma to samo źródło, nawet błędy w kursach są te same
Użytkownik marcin32 edytował ten post 25 październik 2006, 21:03
kurde robisz $sql='SELECT * from tabela'; $wynik=mysql_query($sql); while ($row=mysql_fetch_row($wynik)) { //costam dalej i masz

Skoro robisz to na serwerze hostingowym, to może rzeczywiście masz zablokowane tworzenie baz. Ale w administratorze masz podgląd jak się nazywa twoja baza. Więc nie musisz tworzyć nowej, tylko dopisać tabele do istniejącej.
$idzapytania = mysql_query($zapytanie); nie jest deklaracją, tylko wykonaniem zapytania na bazie. A w $zapytanie wpisujesz zapytanie, np:
$zapytanie = "select * from tabela"


$idzapytania = mysql_query($zapytanie); nie jest deklaracją, tylko wykonaniem zapytania na bazie. A w $zapytanie wpisujesz zapytanie, np:
$zapytanie = "select * from tabela"

tak, ale chodziło mi o to że w php nie ma czegoś takiego jak :
string/int/char/itp $zapytanie; tylko zmienne są tworzone na gorąco

Mathew - zrobiłem tak i nie działa, ten sam błąd

sprawdziłem w phpmy adminie i nie ma tam tabeli nba, pomimo, że nie został zgłoszony żaden błąd, więc może to jeszcze jakiś inny problem,
Użytkownik marcin32 edytował ten post 25 październik 2006, 21:18
wrzuc samo zapytanie tworzace do phpmyadmina i zobacz czy wyskoczy. I dodaj gdzies w skrypcie echo mysql_error()

Proponuję ci zainstalować apache z php oraz mysql lokalnie i potestować co działa. Poza tym są dwie osobne sprawy: zrobienie skryptu PHP, który tworzy bazę i tabele oraz korzystanie z tego w innych skryptach. te pierwsze nie będą dostępne dla zwykłego usera, a te drugie owszem. Choćby z tego powodu powinno to być rozdzielone.
Sam właśnie zmagam się z podobnymi problemami, ale mam ten komfort, że robię to na serwerze z dostępem do shell'a, więc takie rzeczy jak tworzenie tabel mogę robić bezpośrednio skryptami sql a nie PHP.

wrzuciłem zapytanie, tabela została ztworzona, czyli błąd jest w samym kodzie php. dodałem też echo mysql_error(); ale nic to nie zmienia. ale znalazłem w neciku coś takiego
$query="CREATE TABLE contacts (id int(6) NOT NULL auto_increment,first varchar(15) NOT NULL,last varchar(15) NOT NULL,phone varchar(20) NOT NULL,mobile varchar(20) NOT NULL,fax varchar(20) NOT NULL,email varchar(30) NOT NULL,web varchar(30) NOT NULL,PRIMARY KEY (id),UNIQUE id (id),KEY id_2 (id))"; mysql_query($query); wkleiłem do mnie i działa - od razu nowa tabelka w php my adminie po odświerzeniu. postaram się przeczytać kurs po angielsku i sam dojść do błędu i napisać

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.