2014-02-20 7 views
0

내 함수를 호출하려고 할 때 비 객체에서 멤버 함수 query()에 대한 호출이 발생합니다. btw : "게시물이 대부분 코드 인 것 같습니다. 자세한 내용을 추가하십시오."멤버 함수 쿼리 호출 ooo

class Uzytkownik { 

    public function loguj($nazwa_uz_l, $haslo_l) { 

     require('funkcje_bazy.php'); 

     //$lacz = lacz_bd(); 
     $this->lacz = new Polacz('localhost', 'root', '', 'lupo24_db');  

     $nazwa_uz_l = trim($_POST['nazwa_uz_l']); 
     $haslo_l = trim($_POST['haslo_l']); 

     $this->lacz->query("SELECT * FROM uzytkownicy WHERE email='". $this->lacz->real_escape_string($nazwa_uz_l) ."' AND haslo = '". $this->lacz->real_escape_string($haslo_l) ."' AND aktywacja IS NULL ");   

     if($this->lacz->num_rows>0) 
     { 
      $_SESSION['prawid_uzyt'] = $nazwa_uz_l; 
     } 
     else 
     { 
      echo 'Logowanie sie nie powiodlo.'; 
     } 
    } 
} 

funkcje_bazy.php :

class Polacz { 

public function __construct($domena, $uzytkownik, $haslo, $baza) { 

    $domena; 
    $uzytkownik; 
    $haslo; 
    $baza; 

    $this->lacz = new mysqli($domena, $uzytkownik, $haslo, $baza); 

    if ($this->lacz->connect_errno) { 
     echo "Nie mozna sie polaczyc z MySQL: (" . $this->lacz->connect_errno . ") " . $this->lacz->connect_error; 
    } 

    if($this->lacz == true) 
    { 
     echo 'Polaczono. '; 
     return $this->lacz; 
    } 
    else 
    { 
     echo 'Brak polaczenia z baza. '; 
     return false; 
    } 

    $this->lacz->close(); 
} 

}

그리고 오류 :

나는 무엇

내 코드는 다음과 같습니다 ... XD 그것에 대해 더 알 수 있습니다

Polaczono. 
Fatal error: Call to undefined method Polacz::query() in C:\xampp\htdocs\uzytkownik.php on line 15 

답변

4

수업

$lacz = new Polacz('localhost', 'root', '', 'lupo24_db'); 

에 : 속성 lacz

변경이없는

기반 : 또는

$this->lacz = new Polacz('localhost', 'root', '', 'lupo24_db'); 

을, 당신은 모든 $this->lacz

$lacz 업데이트를 변화시킬 수 귀하의 편집에 귀하의 proble 이제 Polacz 클래스에 query 메서드가 없습니다. 코드에서 mysqli 객체에 대한 래퍼를 만드는 것처럼 보입니다. Polacz에서 mysqli->query()을 감싸는 메소드를 만들거나 Uzytkownik에서 mysqli 객체를 사용해야한다.

+0

두 옵션을 모두 시도했지만 작동하지 않았습니다. 그러나 나를 도우려는 것에 감사드립니다, 친구. 이제 오류가 있습니다 : "치명적인 오류 : 15 행의 C : \ xampp \ htdocs \ uzytkownik.php의 Polacz :: query() 메서드를 호출하십시오." – bary88

+0

작동하지만 Lacz에 문제가 있습니다. 수업. 고마워, 그래도 도움이 필요해. – bary88

0
$lacz->query("SELECT * FROM uzytkownicy WHERE email='". $lacz->real_escape_string($nazwa_uz_l) ."' AND haslo = '". $lacz->real_escape_string($haslo_l) ."' AND aktywacja IS NULL "); 
+0

작동하지 않습니다./치명적인 오류 : 정의되지 않은 메서드를 호출하십시오. Polacz :: query() (C : \ xampp \ htdocs \ uzytkownik.php 15 행) – bary88

+0

작동하지만 Lacz 클래스에 문제가 있습니다. . 고마워, 그래도 도움이 필요해. – bary88