2016-05-02 25 views
-6

私はデータを格納するデータベースを持っています。セッションと同じユーザー名でデータベース内のデータを表示するにはどうすればよいですか?私が試したことは以下の通りです。セッションがあり、ユーザー名がデータベースの各行にアップロードされています。同じユーザ名で結果を表示

これは私がやろうとしていることです:ジャックとして私がデータを入力してデータベースに送りました。それはジャックとして名前を保存し、ジャックでのみ結果を表示します。しかし、それは0結果を言っている。どうして?

<?php 
session_start(); 
if (isset($_SESSION['username'])) { 
    $username = $_SESSION['username']; 
    echo "$username"; 
} 

$servername = "localhost"; 
$username = "root"; 
$password = "root"; 
$dbname = "score"; 

$conn = new mysqli($servername, $username, $password, $dbname); 

if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$sql = "SELECT id, name, description FROM all_scores WHERE username = '".$username."' ORDER BY id DESC LIMIT 5"; 
$result = $conn->query($sql); 

if ($result->num_rows > 0) {  
    while($row = $result->fetch_assoc()) { 
     echo "<p></p>"; 
     echo "<a href=score_2/view.php?pageid=" . $row["id"] . ">". $row["name"]. "</a>"; 
     echo "<p>". $row["description"]. "</p>"; 
    } 
} else { 
    echo "0 results"; 
} 

$conn->close(); 

?> 
+5

mysqlを学ぶ最初に構文。 –

+0

正しい@u_mulder .. –

+1

あなたはどこにでもFROMとどこに置くことはできません –

答えて

3

次の2つのミス

1 - SQLの構文エラーを持って、正しい構文は

$sql = "SELECT id, name, description FROM all_scores WHERE username = '".$username."'";

2-変数$usernameは、データベース のユーザ名で上書きされ、これを試してみてください。

$sql = "SELECT id, name, description FROM all_scores WHERE username = '".$_SESSION['username']."'"; 
+0

ありがとう作品:) – jhkhhkhkkhhkhk

+0

ここを見てください:http://www.w3schools.com/sql/sql_where.asp .....なぜupvoted? –

+0

あなたはなぜ投票したのですか? – Epodax

関連する問題