Php 在MySQLi的select语句中获取绑定参数时出错
我在下面添加了一个精选片段。为什么在bind_param上出现以下错误 未捕获错误:在布尔值上调用成员函数bind_param 代码:Php 在MySQLi的select语句中获取绑定参数时出错,php,mysqli,prepared-statement,Php,Mysqli,Prepared Statement,我在下面添加了一个精选片段。为什么在bind_param上出现以下错误 未捕获错误:在布尔值上调用成员函数bind_param 代码: Mysqli prepare可以在绑定之前返回false,您必须检查它是否有错误。 请看php.net中的这篇文章 mysqli_prepare返回语句对象,如果发生错误,则返回FALSE。但日志显示绑定未准备时出错run var_dump$stmt;准备好后你就会明白了。奇怪!现在我得到了一个未定义的变量query@MonaCoder你可能在打字时出错了$首先
Mysqli prepare可以在绑定之前返回false,您必须检查它是否有错误。 请看php.net中的这篇文章
mysqli_prepare返回语句对象,如果发生错误,则返回FALSE。但日志显示绑定未准备时出错run var_dump$stmt;准备好后你就会明白了。奇怪!现在我得到了一个未定义的变量query@MonaCoder你可能在打字时出错了$首先定义并使用查询,我们不应该出现此错误。我只是在我的设备上运行这个代码,它没有错误。代码是eddited@MonaCoder我在我的机器上创建了一个数据库,这段代码在我的机器上运行良好,没有错误。检查数据库连接和表结构!我在$query=…;和$query中都使用了$query。。。;和prepare$query并获取此错误未定义变量:querybut直接在prepare中传递select字符串正在工作!
$sessien = $_POST['xsession'];
$conn = new mysqli(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);
$query = "SELECT `post` FROM `user` WHERE session=? ORDER BY `thedate` DESC ";
$stmt = $conn->prepare($query);
$stmt->bind_param("s", $sessien);
$stmt->execute();
while ($stmt -> fetch()) {
echo "$post<br>";
}
$stmt->close();
$conn->close();
$sessien = $_POST['xsession'];
$conn = new mysqli(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);
/* check connection */
if ($conn->connect_errno) {
printf("Connect failed: %s\n", $conn->connect_error);
exit();
}
$query = "SELECT `post` FROM `user` WHERE session=? ORDER BY `thedate` DESC ";
$stmt = $conn->prepare($query);
if ($stmt) {
$stmt->bind_param("s", $sessien);
//bind Response variables
$stmt->bind_result($post);
$stmt->execute();
while ($stmt -> fetch()) {
echo "$post<br>";
}
$stmt->close();
}else{
//error
var_dump($conn->error);
}