[英]MySQL query no results
I want echo my DB results from Session
but i get no results or errors: 我想从
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;
Anyone know why not? 有人知道为什么吗? Session works.
会议工作。
Thanks 谢谢
You should change your query, like this: 您应该更改查询,如下所示:
$sql = "SELECT user FROM yourtablename WHERE username = $username"
Where "user" is what you want to SELECT if you want to select all data, you can use "*", yourtablename is table name of table you want to select. 如果要选择所有数据,则“用户”是要选择的内容,可以使用“ *”,yourtablename是要选择的表的表名。
After your edits, your code should look like 编辑后,您的代码应如下所示
$_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();
}
Notice: mysqli_real_escape_string
it's not very security. 注意:
mysqli_real_escape_string
不是很安全。 A better option to protect against SQL injections is using prepared statements, more info here 防止SQL注入的更好选择是使用准备好的语句,更多信息请点击这里
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.