Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:
null
. null
. null
, как если бы это был массив. null
, как если бы это был массив. null
как будто это было значение Throwable. Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null
.
Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html
Вы, кажется, вызываете mysqli_stmt :: fetch (), но ожидаете, что он будет действовать как PDOStatement::fetch()
.
Несмотря на то, что функции имеют одно и то же имя, они имеют разные расширения, и вы не можете смешивать их. Если вы хотите использовать функцию PDO fetch (), вам следует подключиться к базе данных с помощью PDO.
Кроме того, функция mysqli_stmt::fetch()
не возвращает строку данных. Он полагается на привязку результатов к переменным .
Я предпочитаю стиль PDO, где PDOStatement::fetch()
возвращает строку. Я рекомендую вам конвертировать код для использования PDO повсеместно.
Вы используете стиль извлечения PDO с помощью метода fetch()
MySQLi.
Попробуйте:
$result = $records->fetch();
Если вы действительно хотите использовать стиль извлечения PDO, я рекомендую использовать PDO вместо MySQLi.