2010-05-16 64 views
2

我想構建一個PHP類來檢查MySql中的用戶名和密碼。 我得到「的mysql_query():提供的參數不是在d一個有效的MySQL-Link的資源:行38 \ 2010Portfolio \足球\ main.php」:」消息PHP類問題

當我移動。數據庫有錯誤我的用戶查詢代碼超出了我的類,它工作正常。只有當它在我的類內。 我不確定問題是我沒有建立到我的班級內的MySQL連接或沒有。謝謝任何幫助! ! 這裏是我的代碼

<?php 
    $userName=$_POST['userName']; 
    $userPw=$_POST['password']; 

    class checkUsers { 
     public $userName; 
     public $userPw; 
     function checkUsers($userName='', $userPw=''){ 
     $this->userName=$userName; 
     $this->userPw=$userPw; 
     } 
     function check1(){ 

     if (empty($this->userName) || empty($this->userPw)){ 

       $message="<strong>Please Enter Username and Password</strong>"; 

     }else{ 
//line 38 is next line 
     $userQuery=mysql_query("SELECT userName, userPw FROM user WHERE 

userName='$this->userName' and userPw='$this->userPw'", $connection); 

         if (!$userQuery){ 
       die("database has errors: ". mysql_error()); 
      } 
      if(mysql_num_rows($userQuery)==0){ 
     $message="Please enter valid username and password"; 
     } 
     }//end empty check 

     return $message; 

     }//end check1 method 

     }//end Class 

     $checkUser=new checkUsers($userName, $userPw); 
     echo $checkUser->check1(); 




     ?> 

我明白任何幫助!!!!

回答

3

問題是您的方法看不到連接對象。無論是使用在全球總體(

global $connection; 
在你的方法定義

(壞主意),或者嘗試用一個單獨的數據庫連接會(代碼示例都可以在網上找到)。

+0

我知道了,謝謝。 – FlyingCat 2010-05-16 04:29:22

1

它解釋$connection作爲在check1()函數的局部變量。

審查文檔的variable scope。你可能在你的函數定義global $connection

+0

ŧ hanks的答覆。 – FlyingCat 2010-05-16 04:28:41