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]"'");

username が列名であると仮定します。それがあなたを助けることを願っています。ハッピーコーディング!

于 2012-08-24T07:50:12.920 に答える
0
  • まず: プリペアド ステートメントについて考えてみましょう!
  • 2番目:where句が間違っています。列を値と比較します...次のように変更します。

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

于 2012-08-24T07:23:48.340 に答える