• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Fatal error: Call to a member function fetch_assoc() on boolean

Object Storage Arubacloud
–1 głos
7,328 wizyt
pytanie zadane 27 września 2015 w PHP przez DavidMCPolska Bywalec (2,770 p.)
zamknięte 27 września 2015 przez DavidMCPolska

Mam problem z funkcją fetch_assoc(). Wyskakuje mi błąd

Fatal error: Call to a member function fetch_assoc() on boolean in C:\xampp\htdocs\Geometry Craft\posts.php on line 15

Tutaj jest skromny kod: POPRAWIONY !!

<?php

  session_start();
  
  if($_SESSION['logged'] == true)
  {
    echo $_SESSION['startpage'];
    require_once "Segmenty/profilepanel.php";
    require_once "connect.php";
    $polaczenie = @new mysqli($host, $db_user, $db_pass, $db_name);
    if($polaczenie->connect_errno!=0)
    {
      echo "Error: ".$polaczenie->connect_errno;
    }
    else
    {
    $query = "SELECT * FROM wpisy WHERE data_wpisu >= DATE_SUB(CURDATE(),INTERVAL MOD(DAYOFWEEK(CURDATE())-2,7) DAY) AND date <= DATE_ADD(CURDATE(), INTERVAL MOD(7 - (DAYOFWEEK(CURDATE()) - 1), 7) DAY)";
    $view_now_week = @$polaczenie->query($query);
    
    $wpis = $view_now_week->fetch_assoc();
    
    echo $wpis['content'];
    }
    echo $_SESSION['endpage'];
  }
  else
  {
    header('Location: login.php');
  }
?>


Dlaczego mi błąd pokazuje to nie mam pojęcia :(. Może ktoś wie?

komentarz zamknięcia: Odpowiedź udzielona

3 odpowiedzi

+2 głosów
odpowiedź 27 września 2015 przez DavidMCPolska Bywalec (2,770 p.)
wybrane 27 września 2015 przez DavidMCPolska
 
Najlepsza
Taaa, wiem dlaczego głos w dół dostałem. Dlatego że dałem MAŁPĘ i nie używam PDO.
komentarz 27 września 2015 przez event15 Szeryf (93,790 p.)
przynajmniej używasz mysqli_*. A tak to sam sobie ukrywasz błędy połączenia.

vardumpnij sobie @view_now_week

Poza tym nie sprawdzasz w ogóle, czy połączenie nastąpiło.
komentarz 27 września 2015 przez DavidMCPolska Bywalec (2,770 p.)
Jak byś chciał wiedzieć to po wklejeniu tego kodu zrobiłem sprawdzenie czy połączenie nastąpiło
komentarz 27 września 2015 przez efiku Szeryf (75,160 p.)
komentarz 27 września 2015 przez DavidMCPolska Bywalec (2,770 p.)
Teraz nie ma błędów, ale też nic nie pojawia się na stronie. Czy jest błąd w zapytaniu MySQL? Bo to zapytanie niestety wkleiłem i zmieniłem nazwy.
komentarz 27 września 2015 przez efiku Szeryf (75,160 p.)
Wklej sobie to zapytanie najelpiej do phpmyadmina i zobacz czy zwróci wynik jakiś ;)
komentarz 27 września 2015 przez event15 Szeryf (93,790 p.)
SELECT * FROM wpisy WHERE data_wpisu >= DATE_SUB(CURDATE(),INTERVAL MOD(DAYOFWEEK(CURDATE())-2,7) DAY) AND date <= DATE_ADD(CURDATE(), INTERVAL MOD(7 - (DAYOFWEEK(CURDATE()) - 1), 7) DAY)

Wklej to do koncoli phpmyadmina albo do czegoś co masz za bazę danych i zobacz co zwróci :)

komentarz 27 września 2015 przez DavidMCPolska Bywalec (2,770 p.)
Zwrócił pusty wynik. To zapytanie ma wyświetlić wszystko z tego tygodnia, NIE z ostatnich 7 dni. Wiesz jak to zrobić?
+1 głos
odpowiedź 27 września 2015 przez Comandeer Guru (600,810 p.)

Nie, dostałeś łapę w dół za to, że nie obsługujesz błędów ;) Polecam sprawdzić funkcję mysqli_error. No i wywalić małpę

0 głosów
odpowiedź 27 września 2015 przez DavidMCPolska Bywalec (2,770 p.)
Chyba nigdy już nie będę wklejał swoich kodów PHP. Hehe przy okazji nabijam sobie punkty.
komentarz 3 października 2015 przez event15 Szeryf (93,790 p.)
Ale nie wiesz, że STFU operatora się nie stosuje, że powinno się używać PDO, że powinno się korzystać z bloków try catch i że wyjątki się wykorzystuje. Akurat ify-elsy nie były przedmiotem dyskusji.
komentarz 4 października 2015 przez DavidMCPolska Bywalec (2,770 p.)
To wytłumacz mi dlaczego on jest jak nie można go stosować?? W aktualnym projekcie nie będę już tego zmieniał, bo to strasznie dużo pracy teraz wszystko zmieniać, ale następnym razem poczytam o tym i będę stosował PDO OK?

PS: Właśnie zauważyłem, że tej strony nie robił Mirosław Zelent tylko jakieś "Question2Answer" i "Q2A Market" :P Ja nie mogę, uczy nas a sam widać, że nie potrafi :(
komentarz 4 października 2015 przez event15 Szeryf (93,790 p.)
Nie mam pojęcia po co on powstał - w czasach przed powstaniem obiektówki w php możliwe, że to miało jakiś tam mały sens.

Przykrywasz sobie wyświetlanie jakichkolwiek błędów - od notice po fatale. Szkodzisz sobie niezmiernie w ten sposób. Dzięki temu nawet nie masz możliwości dowiedzenia się czy ktokolwiek próbuje się włamać na Twoją stronę. TO że błąd się nie pojawia to nie znaczy, że nie można wykonać sql blind injection - właśnie chociażby SQLBi spowodowało falę najadu na ten operator. Stosowanie go jest oznaką ignorancji i nieprofesjonalizmu, ba gruntownej niewiedzy fundamentów tego języka!
komentarz 4 października 2015 przez DavidMCPolska Bywalec (2,770 p.)
To nawet po zabezpieczeniu skryptu przed SQL Injection to można to jeszcze ominąć przez jakieś SQL Blind Injection?!?
komentarz 4 października 2015 przez event15 Szeryf (93,790 p.)
Nie zabezpieczasz tego skryptu.

Podobne pytania

–1 głos
1 odpowiedź 1,038 wizyt
pytanie zadane 6 czerwca 2015 w PHP przez Eerie Mądrala (7,130 p.)
0 głosów
2 odpowiedzi 2,195 wizyt
0 głosów
2 odpowiedzi 1,465 wizyt

92,550 zapytań

141,392 odpowiedzi

319,519 komentarzy

61,935 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...