Luksor Opublikowano 14 Lipca 2008 Udostępnij Opublikowano 14 Lipca 2008 Proszę o poprawę kodu, ponieważ zacząłem się uczyć o MySql w PHP i coś mi nie wyszło. Strona się nie wyświetla, skrypt nie dodaje tabeli do bazy. <?php $sql_conn = mysql_connect('XXX', 'XXX', 'XXX') or die('Nie mogłem połaczyć się z bazą danych'); mysql_select_db('XXX'); $zapytanie = "CREATE TABLE news (id int NOT NULL AUTO_INCREMENT, tytul char(50), tresc char(300), autor char(20), PRIMARY KEY(id))"; $idzapytania = mysql_query($zapytanie); $zapytanie = "INSERT INTO `news` (`id`, `tytul`, `tresc`, `autor`) VALUES ('', 'Start sronki', 'Dzisiaj strona wystartowala!', 'Luksor')"; $idzapytania = mysql_query($zapytanie); $zapytanie = "SELECT `id`,`tytul`,`tresc`,`autor` FROM `news`"; $idzapytania = mysql_query($zapytanie); echo '<table>'; while ($wiersz = mysql_fetch_row($idzapytania)) { echo '<tr><td>'. $wiersz[0] .'</td> - <td>'. $wiersz[1] .'</td></tr><tr><td>'. $wiersz[2] .'</td></tr><td>Autor: '. $wiersz[3] .'</td>'; } echo '</table>'; mysql_close($sql_conn); ?> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 14 Lipca 2008 Administratorzy Udostępnij Opublikowano 14 Lipca 2008 Jeżeli tabela jest już stworzona, to nie da rady stworzyć jej drugi raz, więc jest już 1 error. Możesz uzyć SELECT * FROM będzie szybsiej. Możesz użyć mysql_fetch i wtedy w tablicy poza $wiersz[0] będziesz miał np. $wiersz['id']. Poza tym, nie widze błędów. Zresztą mysql_error(); powinno wskazać jakiś, jeżeli wystąpi. Ew. na początku pliku daj error_reporting(E_ALL); aby zobaczyć, czy to nie php zwraca błąd. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Luksor Opublikowano 14 Lipca 2008 Autor Udostępnij Opublikowano 14 Lipca 2008 Żadny z podanych kodów nie zwraca błędu, jest tak samo jak było. Adres pliku: xxx Nie wiem co jest źle. :crying: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 14 Lipca 2008 Administratorzy Udostępnij Opublikowano 14 Lipca 2008 A "6135" to co jest ? Chyba numer błędu ? btw. wywaliłeś to create ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Luksor Opublikowano 14 Lipca 2008 Autor Udostępnij Opublikowano 14 Lipca 2008 A "6135" to co jest ? Chyba numer błędu ? btw. wywaliłeś to create ? To był numer błędu, bo dałem inaczej to error reporting. Nie wywaliłem create, ale zaraz wywale. E: Po skasowaniu create też strona się nie wyświetla. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 14 Lipca 2008 Administratorzy Udostępnij Opublikowano 14 Lipca 2008 zrób tak: if ( !$idzapytania = mysql_query( $zapytanie ) ) { die( mysql_error() ); } A najlepiej to zrób tak: <?php error_reporting(E_ALL); $db = mysql_connect('XXX', 'XXX', 'XXX') or die('Nie mogłem połaczyć się z bazą danych'); mysql_select_db('XXX'); $sql = "SELECT * FROM news"; if (!$result = mysql_query($sql)) { die( mysql_error() ); } echo '<table>'; while ($r = mysql_fetch($result)) { echo '<tr><td>'. $r['id'] .'</td> - <td>'. $r['tytul'] .'</td></tr><tr><td>'. $r['tresc'] .'</td></tr><td>Autor: '. $r['autor'] .'</td>'; } echo '</table>'; mysql_close($db); ?> Insert i create nie są potrzebne, już powinny te dane być w bazie (sprawdź czy są, lub ręcznie dodaj phpmyadminem). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Luksor Opublikowano 14 Lipca 2008 Autor Udostępnij Opublikowano 14 Lipca 2008 Znalazłem w manualu przykład i go zastosowałem, wyświetliło się pełno błędów! E: Działa już, dałem za dużo znaków do char. ;p Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 14 Lipca 2008 Administratorzy Udostępnij Opublikowano 14 Lipca 2008 nom jakbyś dał mysql_error, to by pokazało. Btw. najlepiej tworzyć tabele poprzez phpmyadmina - jest wygodniejszy i zobaczysz swoje błędy. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Luksor Opublikowano 14 Lipca 2008 Autor Udostępnij Opublikowano 14 Lipca 2008 nom jakbyś dał mysql_error, to by pokazało. Btw. najlepiej tworzyć tabele poprzez phpmyadmina - jest wygodniejszy i zobaczysz swoje błędy. Ok, dzięki za poradę. :thumbsup: Teraz robię dodawanie przez formularz. Zamykam. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi