php - MySQL查询无结果
问题描述
我想回显我的数据库结果,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;
有谁知道为什么不?会话有效。
谢谢
解决方案
您应该更改查询,如下所示:
$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();
}
更多信息在这里
注意: mysqli_real_escape_string
这不是很安全。防止 SQL 注入的更好选择是使用准备好的语句,更多信息在这里
推荐阅读
- python - TesseractNotFound 错误:未安装 tesseract 或不在您的路径中
- json - 是否允许在自定义 JsonConverter 中更改 JsonSerializer 的某些设置?
- java - Java 堆空间问题 Openstack
- django - Django REST Framework:如何使 APIView/Serializer 可浏览?
- javascript - TypeError:无法读取未定义的属性(读取“类别”)
- xml - 由于 Admob 已在修改后的广告代码调整广告框架大小下发送了有关违反政策的电子邮件,如何从我的代码中找到问题?
- python - 如何在 Python 中为给定的数据帧制定新的数据帧以进行特征选择
- java - 从 Java 中返回的 JSON 对象中检索值
- plaid - 格子 Api 不会让我使用帐户/路由号码验证帐户
- nestjs - Nestjs multer在一些代码后上传文件