У меня есть такой код:
$conn = new mysqli($host, $username, $passwd, $dbname);
...
$stmt = $conn->prepare('SELECT ...');
$stmt->bind_param(...);
$stmt->execute();
$stmt->bind_result(...);
while($stmt->fetch())
{
// do something here
}
$stmt->close();
...
// do something more here that has absolutely nothing to do with $stmt
Это работает отлично. Я получаю ожидаемые результаты, нет ошибок или чего-либо, что не должно происходить.
Но если я установил точку останова (Xdebug 2.2.5/2.2.6/2.2.8/2.3.2 и PHP 5.5.3/5.5.15/5.6.0/5.6.6/5.6.10), чтобы строка после $stmt->close();
, я получаю много предупреждений, например
Доступ к ресурсу еще не разрешен
или
Не удалось получить mysqli_stmt
Я думал, что пропустил, чтобы закрыть другое выражение mysqli, но я получаю все результаты. Кажется, в моем коде просто нет проблем...
Есть ли способ избавиться от этих неправильных предупреждений?
Обновление. Эта проблема все еще существует в PHP 7.0.1/Xdebug 2.4.0 RC3.