何时关闭预准备语句
2022-08-30 18:37:56
何时关闭 PHP 中的预准备语句?
例:
$query = "insert into web_reviews (title,added_date,reviewer_home_url,read_more_link,summary) values(?,?,?,?,?)";
$stmt = $this->db->prepare($query);
$stmt->bind_params($this->title,$this->added_date,$this->reviewer_home_url,$this->read_more,$this->summary);
$stmt->execute() or die("Cannot add the date to the database, please try again.");
$stmt->close();
$stmt = $this->db->prepare("select id from web_reviews where title = ? and read_more = ?");
$stmt->bind_params($this->title,$this->read_more);
$stmt->execute();
$stmt->bind_results($web_review_id);
$stmt->close();
我应该在这里使用吗?$stmt->close();
编辑:
PHP手册上写的内容以及手册中的一条评论说:
关闭预准备语句。mysqli_stmt_close() 还会解除分配语句句柄。如果当前语句具有挂起或未读结果,则此函数将取消这些结果,以便可以执行下一个查询。
评论:
如果要在循环中使用bind_param等重复语句,则执行更大的操作。我 thougt id 最好用 stmt->close 来清理它。但它总是在aprox之后出现错误。250 次操作。当我用stmt->reset尝试它时,它对我有用。