2014-02-15 60 views
0
$query = mysql_query("SELECT * FROM USER_TABLE where `user` = 'user_name'"); 
$result = mysql_fetch_array($query); 
$user = $result['user']; 
$password = $result['password']; 

class SimpleAuth 
{ 

    // The users List ('Login' => 'Password') 
    var $users = array(
    'user1' => 'password1',  // want to replace it with variables $user and $password 
    'user2' => 'password2',  // User 2 
    'user3' => 'password3',  // User 3 
    ); 
................ 
} 

我在如何使用變量$ user和$ password以及在哪裏放置mysql查詢以將值傳遞給這兩個變量的語法掙扎。VAR列表中的VAR變量

編輯:我想用變量(即$ user,$ password)替換'user1'和'password1'。在此之前,我會運行一個mysql查詢來從數據庫中獲取$ user和$ password。有一次,我改變,要

$user => $passwords, 

我得到下列錯誤

ERROR: Parse error: syntax error, unexpected '$user' (T_VARIABLE), expecting ')'

有人能幫忙嗎?許多人提前感謝!

P.S.我不知道是否應該包含所有代碼。如果是這樣,請告知。

+0

你能澄清一下,你想要做什麼,以及如何究竟mysql的進來了嗎? –

+0

這是一個相當差的編輯 - 它刪除了重要的信息。 – Alexander

+0

對不起,我的演示很糟糕。我編輯了更多信息。 –

回答

2

請代碼改變:

class SimpleAuth 
{ 

    // The users List ('Login' => 'Password') 
    // public , private , protected 
    // don't use keyword "var" 

    public $users_1 = array(
          $user => $password,    // User 1 
          'user2' => 'password2',   // User 2 
          'user3' => 'password3'  // User 3 
    ); 

    //for define variable from value variable : this code 

    public $users_2 = array(
          ${$user} => ${$password},    // User 1 
          'user2' => 'password2',   // User 2 
          'user3' => 'password3'  // User 3 
    );    

} 

................ 的代碼或陣列的端端刪除 「」 和刪除此addation :)


實施例:

<?php 
$k1 = "k1"; 
$v1 = "v1"; 

$arr_1 = array(
       ${$k1} => ${$v1}, 
       "k2" => "v2", 
       "k3" => "v3" 
     ); 
//or 
$arr_2 = array(
       $k1 => $v1, 
       "k2" => "v2", 
       "k3" => "v3" 
     ); 
var_dump($arr_1); 
var_dump($arr_2); 
?> 

結果:

//$arr_1 
array(3) { 
      ["k1"]=> string(2) "v1" 
      ["k2"]=> string(2) "v2" 
      ["k3"]=> string(2) "v3" 
} 

//$arr_2 
array(3) { 
      ["k1"]=> string(2) "v1" 
      ["k2"]=> string(2) "v2" 
      ["k3"]=> string(2) "v3" 
} 
+0

刪除逗號並沒有幫助。並仍然得到相同的語法錯誤 –