только начал учить ООП: Undefined variable: mysql

shurek

Новичок
PHP:
<?php
dump($mysql->select("SELECT * FROM `admin` WHERE `login` LIKE 'shurek'"));
class aAdmin{
    public $name = "Добавить нового администратора сайта";
    public $info;
   
   
    public function formAdd($login, $pass, $email){
        if ($login == ""){
            $login = ADMIN_LOGIN;
        }
        if ($pass == ""){
            $pass = ADMIN_PASS;
        }
        if ($email == ""){
            $email = ADMIN_EMAIL;
        }
       
        $formAdmin =
        '<form method="POST" id="formAdmin" action="?step=1">
            <label for="formAdminLogin">'.ADMIN_LOGIN.'*:</label><input name="login" id="formAdminLogin" type="text" value="'.$login.'" data-type="login"/>
            <label for="formAdminPass">'.ADMIN_PASS.'*:</label><input name="pass" id="formAdminPass" type="text" value="'.$pass.'" data-type="pass"/>
            <label for="formAdminEmail">'.ADMIN_EMAIL.'*:</label><input name="email" id="formAdminEmail" type="text" value="'.$email.'" data-type="email"/>
            <input type="submit" value="'.ADMIN_SUB_ADD.'"/>
        </form>';
        return $formAdmin;
       
    }
   
    public function add($login, $pass, $email, $step){
       
        if ($step == "") {
            $this->info = ADMIN_INFO_FILL;
        $result = $this->formAdd($login, $pass ,$email );
        }else{
        $mysql->select("SELECT * FROM `admin` WHERE `login` LIKE 'shurek'");
        if ($mysql->numRows != 1) {
            $this->info = ADMIN_ERROR_INFO_LOGIN;
            $error = 1;
        }
       
        $mysql->select("SELECT * FROM `admin` WHERE `email` LIKE '{$email}'");
       
        if($mysql->numRows != 1){
            $this->info = ADMIN_ERROR_INFO_EMAIL;
            $error = 1;
        }
       
        if ($error == 1) {
        $result = $this->formAdd($login,$pass ,$email);
        }else{
            $mysql->insert("INSERT INTO `admin` (`id`, `login`, `pass`, `email`) VALUES (NULL, '{$login}', '{$pass}', '{$email}')");
            if ($mysql->idInsert != "") {
                $this->info = ADMIN_TRUE_INFO;
            }else{
                $this->info = ADMIN_FALSE_INFO;
            }
        }
       
    }
        return $result;
    }
}
?>

Результат такой

Array
(
[0] => 1
[id] => 1
[1] => shurek
[login] => shurek
[2] => 6502255789
[pass] => 6502255789
[3] => [email protected]
=> [email protected]
[4] => 0
[access] => 0
[5] =>
[cookie1] =>
[6] =>
[cookie2] =>
)
Добавить нового администратора сайта
Notice: Undefined variable: mysql in W:\home\omsdb.ru\www\admin\class\a.admin.class.php on line 36
[Денвер: показать возможную причину ошибки]
Fatal error: Call to a member function select() on a non-object in W:\home\omsdb.ru\www\admin\class\a.admin.class.php on line 36



Самое интересное что $mysql->select() во второй строчке работает а в классе в строке 36 не хочет
 

hell0w0rd

Продвинутый новичок
В конструктор класса передай инстанс mysql, а в конструкторе присвой в свойство объекта, просто так он виден не будет
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Так же стоит купить книгу по php и прочитать ее, ну и про sql иньекции и шаблоны за одно =)
 
Сверху