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

question-closed Nie mogę wyswietlic rekodu z bazy danych w php !

Object Storage Arubacloud
0 głosów
172 wizyt
pytanie zadane 9 listopada 2018 w PHP przez Byczek_ Bywalec (2,570 p.)
zamknięte 9 listopada 2018 przez Byczek_

Witam własnie jestem na drugim odcinku php i wyswielta mi sie zamiast imienia ten błąd :

Fatal error: Uncaught Error: Call to a member function query() on null in C:\xampp\htdocs\osadnicy\zaloguj.php:20 Stack trace: #0 {main} thrown in C:\xampp\htdocs\osadnicy\zaloguj.php on line 20

<?php

	require_once"connect.php";
	
	$polaczenie=@new mysqli($host,$db_user,$db_password,$db_name);
	
	if($polaczenie->connect_errno!=0)
	{
		echo "Error: ".$polaczenie->connect_errno;
	}
	else
	{
	
		
		$login=$_POST['login'];	
		$haslo=$_POST['haslo'];
			
		$sql1="SELECT * FROM uzytkownicy WHERE user='$login' AND pass='$haslo'";
			
		if($rezultat=@$polacznie->query($sql1)) 
		{
			$ilu_userow=$rezultat->num_rows;
			if($ilu_userow>0)
			{
				$wiersz=$rezultat->fetch_assoc();
				$user=$wiersz['user'];
				
				
				
				$rezultat->free_result();
				echo $user;
			}
			else
			{
				
			}
		}
		$polaczenie->close();
	}

?>

A tu jest skrypt ktory odpowiada za logowanie sie do strony 

komentarz zamknięcia: Otrzymałem pomoc

1 odpowiedź

0 głosów
odpowiedź 9 listopada 2018 przez razor6017 Użytkownik (780 p.)
wybrane 9 listopada 2018 przez Byczek_
 
Najlepsza

Wystarczy jedna literówka w kodzie i PHP zawsze będzie mieć rację.

<?php
 
    require_once"connect.php";
    //popatrz co napisałeś tu, jaką masz zmienną na połączenie
    $polaczenie=@new mysqli($host,$db_user,$db_password,$db_name);
    

    if($polaczenie->connect_errno!=0)
    {
        echo "Error: ".$polaczenie->connect_errno;
    }
    else
    {
     
         
        $login=$_POST['login']; 
        $haslo=$_POST['haslo'];
             
        $sql1="SELECT * FROM uzytkownicy WHERE user='$login' AND pass='$haslo'";
             
		//a popatrz co masz napisane tu
        if($rezultat=@$polacznie->query($sql1)) 
        {
            $ilu_userow=$rezultat->num_rows;
            if($ilu_userow>0)
            {
                $wiersz=$rezultat->fetch_assoc();
                $user=$wiersz['user'];
                 
                 
                 
                $rezultat->free_result();
                echo $user;
            }
            else
            {
                 
            }
        }
        $polaczenie->close();
    }
?>

PHP ma rację, bo na początku ustawiłeś zmienną z połączeniem bazy $polaczenie, a nagle w środku ifa tworzysz nową zmienną $polacznie, która jest pusta. I teraz każesz systemowi wykonać zapytanie do pustej zmiennej.

Jedna literówka w kodzie albo brak EoL na końcu linii i cały kod się sypie, a potem nerwy i szukanie przyczyny.

komentarz 9 listopada 2018 przez Byczek_ Bywalec (2,570 p.)
A sprawdzałęm kod pod względem literowki pare razy ale nie zauwazyłem :) dzieki za pomoc
komentarz 9 listopada 2018 przez razor6017 Użytkownik (780 p.)
Nie ma sprawy.

PHP wymaga zdwojonej uwagi przy pisaniu kodu. Żadnej muzyki przy pisaniu kodu, telefonu, nawet dziewczyny kręcącej się w pobliżu. Tylko ty i ekran, bo inaczej zagubisz się w akcji.

Miłej zabawy z kodem!
komentarz 9 listopada 2018 przez Byczek_ Bywalec (2,570 p.)
Dzieki :)

Podobne pytania

0 głosów
1 odpowiedź 379 wizyt
pytanie zadane 4 maja 2019 w PHP przez nibyykto Nowicjusz (140 p.)
0 głosów
4 odpowiedzi 320 wizyt
pytanie zadane 7 sierpnia 2017 w SQL, bazy danych przez mi-20 Stary wyjadacz (13,190 p.)
0 głosów
1 odpowiedź 399 wizyt
pytanie zadane 17 lutego 2019 w PHP przez veryape Użytkownik (580 p.)

92,536 zapytań

141,377 odpowiedzi

319,455 komentarzy

61,922 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!

...