2012-08-24 44 views
0

我試着去選擇正確的用戶名,但由於某種原因,它一直在myphpadmin選擇第一個用戶名不會選擇了正確的用戶名數據

<?php 
if (logged_in() === true) { 
    $item = array(
       '<li id="item_0"><a href="../../index.php">Home</a></li>', 
       '<li id="item_1"><a href="../../music.php" >Music</a></li>', 
       '<li id="item_2"><a href="../../pictures.php">Pictures</a></li>', 
       '<li id="item_3"><a href="../../poertry.php">Poertry</a></li>' 
      ); 

    $db->query("SELECT * FROM `menusort` WHERE '$user_data[username]' 
         = username"); 
    $order = $db->get(); 
    $order = explode(',', $order[0]['data']); 

    foreach($order as $key => $value) { 
      echo $item[$value]; 
    }; 
} else { 
    echo '<li><a href="../../index.php">Home</a></li> 
      <li><a href="../../music.php" >Music</a></li> 
      <li><a href="../../pictures.php">Pictures</a></li> 
      <li><a href="../../poertry.php">Poertry</a></li>'; 
} 
?> 

回答

4

您需要更改的where子句,並添加引號:

"SELECT * FROM `menusort` WHERE username = '".$user_data['username']."'" 
+0

我試試看,相同的問題 –

+0

@PabloLopez用''echo'暫時替換''db-> query'',其餘的從''$ order = $ db-> get();''to ''foreach''結尾並複製輸出... – thedom

+0

好的謝謝你的幫助 –

0
  • 第一個:考慮準備好的聲明!
  • 第二個:您的where子句是錯誤的。你有一個值進行比較的列...它更改爲:

    $db->query("SELECT * FROM menusort WHERE username = '". $user_data['username'] ."'");

1

不正確的數據,以幫助您! 也需要編輯查詢。

<?php 
$db->query("SELECT * FROM `menusort` WHERE `username`='".$user_data[username]"'"); 

假設用戶名是您的列名稱。希望它能幫助你。快樂的編碼!