Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Brak zapisu w bazie danych
Forum PHP.pl > Forum > Przedszkole
mrk9109
Witam to mój kolejny post smile.gif powoli się uczę zrobilem rejestracje itp i wziąłem się za prosty panel PA i nie wiem dlaczego nie zapisuje mi news`a nawet komunikat błędu nie wyskakuje sad.gif nie wiem co może być przyczyną do podglądu daje caly kod aktualnosci.php a chodzi o fragment dodaj > zapisz

http://wklej.org/id/3363168/

nospor
Skoro bledu w zaden sposob nie wyswietlasz to trudno oczekiwac by sie pojawil. To po pierwsze.
A po drugie sprawdziles czy w ogole dochodzi do tego INSERT?
mrk9109
dochodzi bo jak wrzucilem tam ID to wyrzucało że niezdefiniowane id , i tak samo wykonuje "zapisz" bo jak dalem tam echo "test czy dziala"; to oki więc nie wiem co źle zrobilem z zapytaniem w innym kodzie mi dziala to rozwiazanie

baza danych wygląda tak "

  1. @$polaczenie -> query("DROP TABLE IF EXISTS `aktualnosci`");
  2. @$polaczenie -> query("CREATE TABLE IF NOT EXISTS `aktualnosci` (
  3. `id` int(10) NOT NULL AUTO_INCREMENT,
  4. `tytul` varchar(255) NOT NULL,
  5. `data` varchar(255) NOT NULL,
  6. `autor` varchar(255) NOT NULL,
  7. `tresc` varchar(255) NOT NULL,
  8. PRIMARY KEY ( `id` )
  9. ) ENGINE = MYISAM DEFAULT CHARSET=utf8;");
nospor
Poraz kolejny ci mowie: wyswietl blad bazy danych. mysqli trzyma info o ostatnim bledzie bazy danych
mrk9109
Możesz ostatni raz powiedzieć jak ?

dobrze ? bo mi zwaraca tego blad

  1. $res = $mysqli->query($polaczenie);
  2.  
  3. if (!$res) {
  4. printf("Errormessage: %s\n", $mysqli->error);
  5. }
nospor
Jaki blad ci zwraca?

ps: raz uzywasz mysqli proceduralnie a raz obiektowo. No nie mozesz tego mieszac. Zdecyduj sie na jedna wersje i sie jej trzymaj
mrk9109
po wkleju tego do LINI 70

  1. $res = $zapytanie->query($polaczenie);
  2.  
  3. if (!$res) {
  4. printf("Errormessage: %s\n", $zapytanie->error);
  5. }


Mam :

Fatal error: Uncaught Error: Call to a member function query() on boolean in C:\Users\PC_ACER\xampp\htdocs\system\admin\moduly\aktualnosci.php:70 Stack trace: #0 C:\Users\PC_ACER\xampp\htdocs\system\admin\_start_admin.php(16): include() #1 C:\Users\PC_ACER\xampp\htdocs\system\admin\admin.php(20): include('C:\\Users\\PC_ACE...') #2 {main} thrown in C:\Users\PC_ACER\xampp\htdocs\system\admin\moduly\aktualnosci.php on line 70
nospor
No i prawidlowo ze masz taki blad. Czym niby jest $zapytanie? Obiektem?

Jeszcze raz pisze: zacznij od poprawy swojego kodu i albo sie trzymaj mysqli obiektowego albo proceduralnego. Nie mieszaj
mrk9109
teraz dobrze ?

printf("Errormessage: %s\n", $zapytanie = $polaczenie->error);

i komunikat :

Errormessage: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '')' at line 7
nospor
W koncu dostales komunikat bledu z bazy. Widzisz, jednak blad jest wink.gif Komunikat wyraznie mowi, ze masz blad w zapytaniu obok ')
Teraz znajdz w swoim zapytaniu fragment z ') i zastanow sie czy nie nawaliles za duzo apostrofow. I miej litosc i na przyszlosc nie pisze ze taki kod dzial ci gdzies wczesniej bo taki kod tez nie ma prawa dzialac nigdzie wczesniej. Moze ci dzialac conajwyzej podobny kod, a to duuuza roznica
mrk9109
dzięki biggrin.gif przy tobie jednak duzo sie ucze jak dochodzę do tego smile.gif i już nie bede mylil obiektowo itp
nospor
Super, skoro uzywasz mysqli to zanim pojdziesz gdziekolwiek dalej to poczytaj o BINDowaniu zmiennych do zapytania.
Teraz wystarczy ze w tresc czy tytul ktos wstawi apostof i twoje zapytanie szlag trafil. O SQLInjection juz nawet nie bede wspominal
mrk9109
poczytam , a powiedz mi jeszcze poradzisz cos o bbcode teraz do tego ? i jak zrobic stronicowanie tresci
nospor
Stronicowanie tresci czy stronicowanie rekordow? U mnie w stopce masz link do stronicowania. A w necie tez jest pelna masa materialow odnosnie tego.
Z bbcode podobnie. Wyszukiwarka twoim przyjacielem
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.