2013-10-29 153 views
0

我在PHP中新,我試圖做在PHP 5的工作,所以我有稱爲參數化的功能,但它給了我異常「警告:缺少參數1」這裏是我的課PHP的警告:缺少參數1

class EditUser extends DBConn 
{ 

private $id; 
function editUser($id) 
{ 
    $this->id = $id; 
    echo $id; 
    die; 

    $rows =array(); 
    self::Set_DBConni(); 
    $mysqli = self::get_Conn(); 
    $result = $mysqli->query("SELECT * FROM users where id ='".$id."' "); 

     while($row = $result->fetch_row()) 
     { 
      $rows[] = $row; 

     } 


     return $rows; 

     /* free result set */ 
     $result->close(); 

     /* close connection */ 
     $mysqli->close(); 

} 


} 

,這是我怎麼稱呼它

include_once('include/classes/edituser.php'); 

$objPage = new EditUser(); 

$objPage->editUser($_GET['id']); 

但它顯示我的警告,那就是

Warning: Missing argument 1 for EditUser::editUser(), called in E:\xampp\htdocs\WaleedWork\claremont\admin\edit_user.php on line 45 and defined in E:\xampp\htdocs\WaleedWork\claremont\admin\include\classes\edituser.php on line 8 

Notice: Undefined variable: id in E:\xampp\htdocs\WaleedWork\claremont\admin\include\classes\edituser.php on line 10 

Notice: Undefined variable: id in E:\xampp\htdocs\WaleedWork\claremont\admin\include\classes\edituser.php on line 11 

請ŧ請問我有什麼不對,因爲我認爲我正在使用正確的方式來稱呼它。

+3

so'$ _GET ['id']'沒有設置。永遠不要相信用戶的輸入! – k102

+0

如果你使用'$ _GET',那麼你應該在你的查詢字符串上有一個id:'http:// localhost?id = 1',其中id是1 –

+0

我對我的查詢字符串 – user2930808

回答

1

editUser方法是一個構造函數,你可以做這個

$objPage = new EditUser($_GET['id']);

+1

@Downvoter:照顧解釋? – user2092317

+1

答案是對的 – user2930808

+1

我注意到人們爲了樂趣而在這裏下了投票 – user2930808

0

類的構造器爲__construct(PHP 5 +)或的類本身(傳統風格的名字)。因此,您的editUser方法被視爲構造函數,並且調用new EditUser,並且您在那裏缺少參數。

+0

是的,你是對的 – user2930808