我正在尝试在数据库中搜索结果,并显示与该结果相关的所有列。我与数据库的连接工作正常,但我不知道如何打印我的查询结果,以便可以访问它。
我尝试将其作为一个数组访问,但它没有用。我想要的是能够在数据库中搜索用户名'TEST',并返回密码,电子邮件和用户名(以检查用户名是否存在)。
我目前的代码是这个
$user = mysqli_query($con,"SELECT * FROM user_list where username = '$username'");
print_r($user);
($ username是用户名)。它返回此
(
[current_field] => 0
[field_count] => 4
[lengths] =>
[num_rows] => 2
[type] => 0
)
答案 0 :(得分:1)
您需要先使用mysqli_fetch_assoc
获取结果$userResult = mysqli_query($con,"SELECT * FROM user_list where username = '" . mysqli_real_escape_string($con, $username) . "'");
$user = mysqli_fetch_assoc($userResult);
print_r($user);
答案 1 :(得分:1)
使用Fetch显示结果
$result = mysqli_query($con,"SELECT * FROM user_list where username = '" . mysqli_real_escape_string($con, $username) . "'");
while($row = mysqli_fetch_array($result))
{
print_r($row);
}
答案 2 :(得分:0)
你必须fetch你的结果:
$user = mysqli_query($con,"SELECT * FROM user_list where username = '$username'");
while ($row = $user->fetch_row()) {
print_r($row);
}
答案 3 :(得分:0)
while($row = mysql_fetch_array($user, MYSQL_ASSOC))
{
echo "MATE :{$row['MATE']} <br> ".
"TEST : {$row['TEST']} <br> ".
"--------------------------------<br>";
}
it's may work your you.
答案 4 :(得分:0)
要获取mysqli_query()
的结果,您需要使用其中一个返回行的函数。例如,fetch_all()
获取所有行,或者fetch_array()
获取单个行。
您也可以直接在对象上循环。
$result = mysqli_query($con, 'SELECT ...');
foreach($result as $row) {
print_r($row);
// do something with each row
}
但是,就您而言,您根本不应该使用mysqli_query()
!这使您容易受到SQL注入的攻击。您必须使用参数绑定,这在准备好的语句中可用。
例如,您的固定查询将如下所示:
$stmt = $con->prepare('SELECT * FROM user_list where username = ?');
$stmt->bind_param('s', $username);
$stmt->execute();
$result = $stmt->get_result();
foreach ($result as $row) {
print_r($row);
}
区别在于我的变量没有与SQL分开,因此没有注入的风险。您绝对不应在SQL查询中直接允许任何变量输入。正确地做到这一点并不难。