不会选择正确的用户名数据

时间:2012-08-24 07:18:50

标签: php mysqli

我试图选择正确的用户名,但出于某种原因,它会继续选择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>';
}
?>

3 个答案:

答案 0 :(得分:4)

您需要更改where子句并添加引号:

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

答案 1 :(得分:1)

不正确的数据可以帮助您! 还需要编辑查询。

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

假设用户名是您的列名。 希望它会对你有所帮助。快乐的编码!

答案 2 :(得分:0)

  • 首先:考虑准备好的陈述!
  • 第二:您的where子句错误。您将列与值进行比较...将其更改为:

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