连接到数据库后,select 查询不输出任何内容
After connecting to database, select query doesn't output anything
下面的代码没有回显任何东西,但应该与用户名匹配。
$connect= mysqli_connect('localhost','root','');
$user = "SELECT COUNT (*) FROM user_details WHERE user_name=$username";
$res = $connect->query($user);
echo $res;
我该如何解决这个问题?
$mysqli = new mysqli('localhost', 'root', 'password', 'database');
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT COUNT * user_details WHERE user_name=?";
$stmt = $mysqli->stmt_init();
if(!$stmt->prepare($query)){
print "Failed to prepare statement\n";
}else{
$stmt->bind_param("s", $username);
$stmt->execute();
$result = $stmt->get_result();
var_dump($result);
}
$stmt->close();
$mysqli->close();
不要忘记select数据库。
代码尚未经过测试。
使用了数据绑定,您可以在此处找到更多相关信息:Mysql injection
你的 $res 最终是布尔值(你在查询中有一些错误),这意味着你必须使用 var_dump($res);
而不是 echo.
user_name 缺少引号:
$user = "SELECT COUNT (*) FROM user_details WHERE user_name='$username'";
下面的代码没有回显任何东西,但应该与用户名匹配。
$connect= mysqli_connect('localhost','root','');
$user = "SELECT COUNT (*) FROM user_details WHERE user_name=$username";
$res = $connect->query($user);
echo $res;
我该如何解决这个问题?
$mysqli = new mysqli('localhost', 'root', 'password', 'database');
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT COUNT * user_details WHERE user_name=?";
$stmt = $mysqli->stmt_init();
if(!$stmt->prepare($query)){
print "Failed to prepare statement\n";
}else{
$stmt->bind_param("s", $username);
$stmt->execute();
$result = $stmt->get_result();
var_dump($result);
}
$stmt->close();
$mysqli->close();
不要忘记select数据库。 代码尚未经过测试。 使用了数据绑定,您可以在此处找到更多相关信息:Mysql injection
你的 $res 最终是布尔值(你在查询中有一些错误),这意味着你必须使用 var_dump($res);
而不是 echo.
user_name 缺少引号:
$user = "SELECT COUNT (*) FROM user_details WHERE user_name='$username'";