1

mysql テーブルの「フィードバック」フィールドから、ページに返信データを表示する必要があります。各ユーザーには、行ごとに異なる「フィードバック」応答が保存され、ユーザーがセッションを通じてページにログインしたときにフェッチされるようにしたいと考えています。データベースをセットアップしましたが、自分のページでフィードバックを表示するための php コードを作成するのが難しいと思います...誰か助けてください../

       <?php
       session_start();

       if ($_SESSION['username'])
        {

       $con = mysqli_connect('localhost','root','');
       if (!$con)
        {
        die('Could not connect: ' . mysqli_error($con));
            }

        mysqli_select_db($con,"loginsession");
        $username = $_SESSION['username'];
        $sql="SELECT * FROM users WHERE username = $username";

        $result = mysqli_query($con,$sql);

        $feedback = mysql_query("SELECT feedback FROM users WHERE username='$username'");

        echo $feedback;


          }

       else 
    header("Location: index.php");  

      ?>
4

3 に答える 3

6

この場合の $feedback は文字列ではなく、mysql リソースです。次のような方法で各行を個別にフェッチする必要があります。

echo "<PRE>";
while ($row = mysql_fetch_assoc($feedback)) {
    print_r($row);
}

また、 $username を mysql_real_escape_string() に渡す必要があります。そうしないと、コードがSQL インジェクション攻撃に対して脆弱になる可能性があります。

編集:(免責事項)使用している方法と私の提案は非常に古く、php5.5で減価償却されています。準備されたステートメントを調べることをお勧めします。

于 2013-09-20T00:05:09.943 に答える
1
$sql = mysql_query("SELECT feedback FROM users WHERE username='{$username}' LIMIT 1");
$feedback = mysql_fetch_assoc($sql);
echo $feedback[0];
于 2013-09-20T01:18:20.600 に答える