Вопрос класса PHP - PullRequest
       17

Вопрос класса PHP

2 голосов
/ 16 мая 2010

Я пытаюсь создать класс PHP для проверки имени пользователя и пароля в MySql. Я получаю "mysql_query (): указанный аргумент не является допустимым ресурсом MySQL-Link в базе данных D: \ 2010Portfolio \ football \ main.php на строке 38": " message.

Когда я перемещаю свой код 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 ]

3 голосов
/ 16 мая 2010

Проблема в том, что ваш метод не может видеть объект подключения. Либо использовать глобальный (

global $connection;

в определении вашего метода (в общем-то, плохая идея) или попробуйте подключиться к одноэлементной базе данных (примеры кода можно найти в Интернете)

1 голос
/ 16 мая 2010

Это интерпретирует $connection как локальную переменную в вашей check1() функции.

Просмотрите документы для переменная область действия . Вы, вероятно, должны определить global $connection в своей функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...