简单的选择查询会产生错误


Simple select query gives error

有人知道为什么我在这样一个简单的查询中会出现两个错误吗?错误消息为:

警告:mysqli::prepare():无法在第503行的(…)/functions.php中获取mysqli

致命错误:在504 行的(…)functions.php中的null处调用成员函数bind_param()

$query_select = ("SELECT * FROM vat WHERE vat_status = ?");
$stmt = $mysqli->prepare($query_select); // line 503
$stmt->bind_param("s", $vat_status); 
$stmt->execute();
$stmt->store_result();
$count = $stmt->num_rows();
$stmt->bind_result ($vat_id          ,
                    $vat_rate        ,
                    $vat_account     ,
                    $vat_description ,
                    $vat_status      ,
                    $vat_timestamp   ); 

问题是我先触发了UPDATE语句,然后又触发了SELECT语句,而这两个语句都使用了$stmt变量。这就是问题所在。

现在我使用

mysqli_stmt_close($stmt); 

这真的关闭了$stmt并释放了结果,所以我可以在更新后触发select语句。