我想从 Session
回显我的数据库结果,但没有得到任何结果或错误:
$_SESSION['username'];
$link = mysqli_connect("$myHost", "$myUser", "$myPass", "$myDB");
// Check connection
if($link === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
$username = mysqli_real_escape_string($link, $_SESSION['username']);
$sql = "SELECT * FROM users where username = $username";
$result = mysqli_query($link, $sql);
echo $result;
有人知道为什么不吗? session 有效。
谢谢
最佳答案
您应该更改您的查询,如下所示:
$sql = "SELECT user FROM yourtablename WHERE username = $username"
其中“user”是您要选择的内容,如果要选择所有数据,可以使用“*”,yourtablename是您要选择的表的表名。
编辑后,您的代码应如下所示
$_SESSION['username'];
$link = mysqli_connect("$myHost", "$myUser", "$myPass", "$myDB");
// Check connection
if($link === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
$username = mysqli_real_escape_string($link, $_SESSION['username']);
$sql = "SELECT * FROM users where username = $username";
if ($result = $link->query($sql)) {
while ($row = $result->fetch_row()) {
var_dump($row);
}
$result->close();
}
更多信息here
注意: mysqli_real_escape_string
它不太安全。防止 SQL 注入(inject)的更好选择是使用准备好的语句,更多信息 here
关于php - MySQL查询没有结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52331003/