mysqli准备好的语句获取结果错误

时间:2018-12-30 07:27:27

标签: php mysqli

<?php
    require 'conn.php';

    $name="gurpreet";
    $roll="16EAYCS032";
    $stream="computer_science";

    $sql="insert into prepare values(?,?,?);";

    $stmt=mysqli_stmt_init($conn);
    mysqli_stmt_prepare($stmt,$sql);
    mysqli_stmt_bind_param($stmt,"sss",$name,$roll,$stream);
    mysqli_stmt_execute($stmt);
    $result=mysqli_stmt_get_result($stmt);
    echo "RESULT <br>";
    if($row=mysqli_fetch_assoc($result)){
        echo "<br>Found";
        echo $row['name'];
    }
?>

我得到的输出为

  

结果警告:mysqli_fetch_assoc()期望参数1为   mysqli_result,布尔值在   C:\ xampp \ htdocs \ php \ php \ insert_using_prepare.php第23行

1 个答案:

答案 0 :(得分:0)

作为@Nigel的评论,在执行INSERT语句时,mysqli_stmt_get_result返回布尔值-这就是mysqli_fetch_assoc($result)失败的原因。

要通过mysqli_stmt_get_resultSELECT获取结果。

关于您的评论:mysqli_executemysqli_stmt_execute之间没有区别-正如您在official documentation中看到的那样-mysqli_executemysqli_stmt_execute的别名