php
  • mysql
  • 2017-02-14 138 views -1 likes 
    -1

    我真的不知道如何解决这个问题,有什么帮助吗?可捕捉的致命错误:类mysqli_result的对象无法转换为第16行的字符串

    $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; 
    

    这是我得到

    Catchable fatal error: Object of class mysqli_result could not be converted to string in C:\xampp\htdocs\epbjc_roleplay_site\php\login.php on line 16

    +1

    你的线路16是什么? –

    +0

    echo $ resultado; – INeedHelp

    +0

    你无法直接echo $ resultado,你需要获取数据然后回显它 –

    回答

    1

    的错误是在这里:

    echo $resultado; 
    

    $ resultado是result-set object of array type,你不能打印这条路。

    你应该先做一个while循环读取其记录为$行:

    while($row = mysqli_fetch_assoc($resultado)) 
    { 
        print_r($row); 
        // Or print any specific column like: 
        echo $row['col_name']; 
    } 
    
    +0

    我得到同样的错误,如果我试图在while循环后返回它,任何提示? – INeedHelp

    +0

    查看我的更新回答 –

    +0

    这是工作的人,非常感谢! :D – INeedHelp

    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"; 
    } 
    
    +0

    object(mysqli_result)#2(5){[“current_field”] => int(0)[“field_count”] => int( 4)[“length”] => NULL [“num_rows”] => int(0)[“type”] => int(0)} – INeedHelp

    +0

    我该怎么做? – INeedHelp

    +0

    这是你的mysql结果的内容。你想要展示什么? –

    0

    正如我告诉你,我们不能回声$ resultado直接,我们需要使用,同时从数据库中提取数据回路

    $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; 
    
    相关问题