我搞错了
Fatal error: Uncaught Error: Call to a member function bind_param() on boolean
在这条线上:
$stmt->bind_param("i", $r);
我的问题准备得正确吗?我检查了表和列的名称,它们是正确的
$stmt = $conn->prepare("UPDATE db_control SET cve_usuario=? WHERE cve_control=1");
$stmt->bind_param("i", $r);
这是我的全部密码:
<?php
$servername = "localhost";
$username = "usuario";
$password = "usuario";
$database = "proyectofinal";
// Create connection
$conn = new mysqli($servername, $username, $password, $database);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$stmt = $conn->prepare("SELECT cve_usuario FROM db_control");
if($stmt->execute())
{
$stmt->bind_result($r);
if($stmt->fetch()){
echo $r;
}
$r = $r + 1;
echo "<br>" . $r;
$stmt = $conn->prepare("UPDATE db_control SET cve_usuario=? WHERE cve_control=1");
$stmt->bind_param("i", $r);
if($stmt->execute())
{
/*do something*/
}
}
?>
2条答案
按热度按时间11dmarpk1#
我解决了!在准备第二个查询之前忘记关闭连接。
那就成功了!谢谢
up9lanfz2#
从
mysqli::prepare
:返回值
mysqli_prepare()
返回语句对象或FALSE
如果发生错误。你应该检查一下
prepare
通过严格检查呼叫成功($stmt !== FALSE
),虽然很简单if ($stmt)
也适用于这种特殊情况。如果你想知道是什么让你
prepare
呼叫失败,您可以检查错误代码/消息: