我无法显示数据库中的数据而且我不知道为什么,我想要做的就是在底部附近显示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();
?>
答案 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和用户名(或者是你想要的那个?)。它也不会通过正确的用户名或密码进行选择。正如评论一样,您确定要查询正确的数据库,并且它有值可供选择吗?