• 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 !

Mały hosting, OGROMNE możliwości
0 głosów
409 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ź 551 wizyt
pytanie zadane 4 maja 2019 w PHP przez nibyykto Nowicjusz (140 p.)
0 głosów
4 odpowiedzi 707 wizyt
pytanie zadane 7 sierpnia 2017 w SQL, bazy danych przez mi-20 Stary wyjadacz (13,250 p.)
0 głosów
1 odpowiedź 658 wizyt
pytanie zadane 17 lutego 2019 w PHP przez veryape Użytkownik (580 p.)

93,718 zapytań

142,631 odpowiedzi

323,262 komentarzy

63,266 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...