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

3 回答 3

4

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

"SELECT * FROM `menusort` WHERE username = '".$user_data['username']."'"
于 2012-08-24T07:21:05.363 回答
1

不合适的数据来帮你!还需要编辑查询。

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

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

于 2012-08-24T07:50:12.920 回答
0
  • 第一:想想Prepared Statements!
  • 第二:您的 where 子句是错误的。您将列与值进行比较...将其更改为:

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

于 2012-08-24T07:23:48.340 回答