Следующий код:PHP MySQLi подготовил оператор fetch - первая строка пуста?
$con = ConnectDB::getConnection();
if ($stmt = $con->prepare('---SQL here with 1 param---')) {
$stmt->bind_param('i', $this->id);
$stmt->execute();
$stmt->bind_result($device_id, $device_identifier);
while ($stmt->fetch()) {
$device = new Device($device_identifier, $device_id);
$all_devices[] = $device;
}
получает пустой результат? Первый раз через цикл, $ device_id и $ device_identifier пуст, но метод fetch() возвращает true, поэтому он запускается. ОДНАКО - ВТОРАЯ Итерация действительно содержит мой результат.
Я мог бы просто проверить, пусты ли они и игнорировать их, но я действительно не могу понять, почему он возвращает пустую пару? Я попытался запустить SQL непосредственно в БД, и он просто возвращает 1 строку результата?
Любые идеи?
Вы определили '$ all_devices = array();'? – Eugen