2013-06-30 61 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 \類\ DataBase.class .PHP在線11

,這裏是數據庫類:

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()