Php 使用相同的用户名显示结果

Php 使用相同的用户名显示结果,php,Php,我有一个存储数据的数据库。如何使用与会话相同的用户名查看数据库中的数据?下面是我尝试过的。数据库中的每一行都有一个会话和用户名 这就是我要做的:假设我以jack的身份登录,输入数据并将其发送到数据库。它将名称保存为jack,然后仅使用jack查看结果。但它说的是0结果。为什么? <?php session_start(); if (isset($_SESSION['username'])) { $username = $_SESSION['username']; echo

我有一个存储数据的数据库。如何使用与会话相同的用户名查看数据库中的数据?下面是我尝试过的。数据库中的每一行都有一个会话和用户名

这就是我要做的:假设我以jack的身份登录,输入数据并将其发送到数据库。它将名称保存为jack,然后仅使用jack查看结果。但它说的是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();

?>
您有两个错误

1-SQL语法错误,正确的语法为

$sql=“从username=”“$username.”的所有_分数中选择id、name、description

2-变量
$username
被数据库的用户名覆盖 试试这个:

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

先学习mysql语法。你不能把它放在任何你想放的地方。你做过任何调试吗?如果是这样,请包括调试的结果。@Epodax您是如何做到的您找到一个教程,然后学习,调试与编写实际代码一样是编码/编程的一部分。