<?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,在第23行的mysqli_result中给出了布尔值
发布于 2018-12-30 08:18:25
作为@Nigel注释,在执行INSERT语句时,mysqli_stmt_get_result返回布尔值--这是mysqli_fetch_assoc($result)失败的原因。
从mysqli_stmt_get_result获得结果应该用SELECT来完成。
关于您的评论:mysqli_execute和mysqli_stmt_execute之间没有什么区别--正如您在正式文件中所看到的-- mysqli_execute是mysqli_stmt_execute的别名。
https://stackoverflow.com/questions/53975931
复制相似问题