<?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行
答案 0 :(得分:0)
作为@Nigel的评论,在执行INSERT
语句时,mysqli_stmt_get_result
返回布尔值-这就是mysqli_fetch_assoc($result)
失败的原因。
要通过mysqli_stmt_get_result
从SELECT
获取结果。
关于您的评论:mysqli_execute
和mysqli_stmt_execute
之间没有区别-正如您在official documentation中看到的那样-mysqli_execute
是mysqli_stmt_execute
的别名