PHP类问题

时间:2010-05-16 04:02:37

标签: php mysql class methods

我正在尝试构建一个PHP类来检查MySql中的用户名和密码。 我收到“mysql_query():提供的参数不是D:\ 2010Portfolio \ football \ main.php第38行”数据库有错误:“消息的有效MySQL-Link资源。

当我将我的userQuery代码移出我的类时,它工作正常。只有在我的班级里面。 我不确定问题是我是否在我的类中没有建立与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();




      ?>

我感谢任何帮助!!!!

2 个答案:

答案 0 :(得分:3)

问题是您的方法无法看到连接对象。要么使用全局(

global $connection;

在您的方法定义中(一般来说是个坏主意)或尝试使用单例数据库连接(可以在整个网络上找到代码示例)。

答案 1 :(得分:1)

它将$connection解释为check1()函数中的局部变量。

查看variable scope的文档。您可能必须在函数中定义global $connection