我真的不知道如何解决这个问题,有什么帮助吗?
$login_email = $_POST['login_email'];
$login_password = $_POST['login_password'];
$sql = "SELECT * FROM utilizador WHERE email ='$login_email' and password = '$login_password'";
$resultado = mysqli_query($connection, $sql);
echo $resultado;
这是我得到的错误
可捕获的致命错误:类mysqli_result的对象不可能 转换为字符串 第16行的C:\ xampp \ htdocs \ epbjc_roleplay_site \ php \ login.php
答案 0 :(得分:1)
错误在于:
echo $resultado;
$ resultado是result-set object of array type
,您无法以这种方式打印。
你应该先做一个while循环,把它的记录读成$ row:
while($row = mysqli_fetch_assoc($resultado))
{
print_r($row);
// Or print any specific column like:
echo $row['col_name'];
}
答案 1 :(得分:0)
你正试图回应一个mysqli_result。你只能回应字符串。
所以改变这一行:
echo $resultado;
对此:
if($resultado && $resultado->num_rows > 0){
$row = $resultado->fetch_assoc();
echo "E-Mail and password matched. Found e-mail was: ". $row['email'];
} else {
echo "No matches were found";
}
答案 2 :(得分:0)
正如我告诉你的那样,我们无法直接回应$ resultado我们需要使用while循环从数据库中获取数据
$login_email = $_POST['login_email'];
$login_password = $_POST['login_password'];
$sql = "SELECT * FROM utilizador WHERE email ='$login_email' and password = '$login_password'";
$resultado = mysqli_query($connection, $sql);
while($row = mysqli_fetch_assoc($resultado)) {
$name =$row['databsefieldname'];
$date =$row['databsefield name for date'];
//this is just example fetch you data this way
}
echo $name;
echo $date;