Я пытаюсь заставить мою малину работать как веб-сервер.
Все работает, кроме запросов моей базы данных mysql. Значения верны, запрос верен, и моя база данных работает нормально.
Но когда я хочу получить информацию из моей базы данных с помощью PHP, это дает пустой результат.
Код:
<?php
$dbCon = new mysqli($servername, $username, $password, $database);
$Query = "SELECT * FROM `machineuptime`";
if($stmt = $dbCon->prepare($Query))
{
$stmt->execute();
$result = $stmt->get_result();
while($row = $result->fetch_assoc())
{
$ArrayData2[] = $row;
}
}
echo "this is de first row of the array: " . $ArrayData2[0]['ID'] . ". Thats nice!";
?>
результат:
это де первая строка массива:. Это мило!
Даже когда я использую запрос в phpmyadmin, он возвращает значения, поэтому запрос не ошибается.
Так как я могу решить эту проблему?
Редактировать:
Я получаю ошибку.
Fatal error: Call to undefined method mysqli_stmt::get_result() in /var/www/html/Stramit/index.php on line 59
Вы не закрываете запрос по адресу:
$Query = "SELECT * FROM `machineuptime`;
измените это на:
$Query = "SELECT * FROM `machineuptime`";
также за ошибку
Неустранимая ошибка: вызов неопределенного метода mysqli_stmt :: get_result () в /var/www/html/Stramit/index.php в строке 59
посмотри на этот ответ
Посмотрите на заметки пользователя для http://php.net/manual/en/mysqli-stmt.get-result.php
Требуется драйвер mysqlnd. Убедитесь, что у вас установлен этот драйвер. Если они не установлены, используйте BIND_RESULT & FETCH
раскомментировано расширение = php_mysqli_mysqlnd.dll в php.ini; и перезапустил службы Apache2.2 и MySQL. говорит это в комментарии к ответу.
Вот ссылка на драйвер: http://php.net/manual/en/book.mysqlnd.php
после установки вы сможете использовать $stmt->get_result();
конечно перезагрузите свой малиновый пи.
Примечание: ваша версия php должна быть выше php 5.3.0
Других решений пока нет …