2013-06-30 5 views
0

У меня проблема в php, я использую WAMP (php 5.3.13 и mysql 5.5.24). И моя проблема, когда я тестирую форму регистра:Вызов функции-функции члена()

include "config.php"; 
if(isset($_GET['confirm_registration'])){ 
    User::ConfirmRegistration($_GET['confirm_registration']); 
} 
if(isset($_POST['confirm_registration'])){ 
    $username= $_POST['username']; 
    $password = $_POST['password']; 
    $email = $_POST['email']; 
    if(!Validator::Email($email)){ 
     echo "Invalid email address"; 
    } else { 
     User::BeginRegistration($username,$email,$password); 
    } 
} 
?> 

<div id="contentWrapper"> 
<div id="form"> 
<form id="signup" method="POST" action=""> 
    <div class="signup_form"><strong>Sign up</strong></div> 
    <div class="signup_form"> 
     <label>Username</label> 
     <input type="text" id="username" name="username" size="30"> 
    </div> 
    <div class="signup_form"> 
     <label>E-Mail</label> 
     <input type='text' id='email' name='email' size="30"> 
    </div> 
    <div class="signup_form"> 
     <label>Password</label> 
     <input type='password' id='password' name='password' size="30"> 
    </div> 
    <div class="signup_form"> 
     <label></label> 
     <input type='submit' name="confirm_registration" value='Submit'> 
    </div> 
</form> 
</div> 
</html> 

Это ошибка: Вызов функции-члена query() на не-объект в C: \ WAMP \ WWW \ zavrsni_rad \ Classes \ DataBase.class .php на линии 11

и вот класс DataBase:

class DataBase 
{ 
    public static $connection; 
    public static function Connect(){ 
     self::$connection = new mysqli("localhost","root","","zavrsni_rad"); 
     self::$connection->set_charset("utf8"); 
    } 
    public static function Execute($query){ 
     self::$connection->query($query); 
    } 
    public static function GetString($query){ 
     $r = self::$connection->query($query); 
     $res_arr = $r->fetch_row(); 
     return $res_arr[0]; 
    } 
    public static function GetRow($query){ 
     $r = self::$connection->query($query); 
     return $r->fetch_row(); 
    } 
    public static function GetTable($query){ 
     $r = self::$connection->query($query); 
     $res = array(); 

     while($rw = $r->fetch_row()){ 
      $res[] = $rw; 
     } 
     return $res; 
    } 
    public static function Disconnect(){ 
     self::$connection->close(); 
    } 
} 
+0

Я не думаю, что вы указали достаточно кодов, чтобы найти ошибку. Код для BeginRegistration и ConfirmRegistration? –

ответ

0

Ясно self::$connection еще не инстанцирован при вызове Execute() - вы должны запустить Connect() раньше.

Смежные вопросы