无法显示来自数据库php的数据 - mysql

时间:2015-07-18 18:30:16

标签: php mysql

我无法显示数据库中的数据而且我不知道为什么,我想要做的就是在底部附近显示id和用户名,与数据库的连接有效,除了显示数据外,它都有效,我整天都被困住了 请帮忙! (我知道我应该使用mysqli,但是另一次不能处理)

<?php
// Define $username and $password
$username=$_POST['username'];
$password=$_POST['password'];
$connection = mysql_connect("localhost", "Username", "Pass");

$db = mysql_select_db("cl45-game", $connection);

$sql = "SELECT id, username FROM User";
$result = $connection->query($sql);

if ($result->num_rows > 0) {

    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Name: " . $row["username"]. "<br>";
    }
} else {
    echo "0 results";
}
$connection->close();

?>

1 个答案:

答案 0 :(得分:2)

您正在混合对象MySQLi和MySQL。试试这个,让我知道它是否有效(目前在移动设备上,我为任何糟糕的格式化道歉)

$result = mysql_query($sql);
if (mysql_num_rows($result) > 0) { 
    while($row = mysql_fetch_assoc($result)) { 
        echo "id: " . $row["id"]. " - Name: " . $row["username"]. "<br>";
     } 
} else { 
    echo "0 results";
} 
mysql_close($connection);

正如你自己所说,你真的应该把它转换为MySQLi或PDO以避免SQL注入!因此,您的代码存在巨大的安全问题!您还可以查看消毒过滤器。

此外,你的'WHERE'选择器在哪里?现在它将返回所有id和用户名(或者是你想要的那个?)。它也不会通过正确的用户名或密码进行选择。正如评论一样,您确定要查询正确的数据库,并且它有值可供选择吗?