Есть пхп файл, отобращающий БД в формате JSON. PHP:
<?php
//database constants
define('DB_HOST', '127.0.0.1');
define('DB_USER', 'binskiy');
define('DB_PASS', 'binskiy2018');
define('DB_NAME', 'binskiydb');
//connecting to database and getting the connection object
$conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
//Checking if any error occured while connecting
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
die();
}
//creating a query
$stmt = $conn->prepare ("SELECT accommodation_conditions, address, cancellation_or_prepayment, cards, desc, features, general, imageurl, infrastructure, latitude, link, location, longitude, name, notes, pets, price, services, sport_and_leisure, stars, tourist_taxi, type, with_kids FROM hotels;");
//executing the query
$stmt->execute();
//binding results to the query
$stmt->bind_result($accommodation_conditions, $address, $cancellation_or_prepayment, $cards, $desc, $features, $general, $imageurl, $infrastructure, $latitude, $link, $location, $longitude, $name, $notes, $pets, $price, $services, $sport_and_leisure, $stars, $tourist_tax, $type, $with_kids);
$hotels = array();
//traversing through all the result
while($stmt->fetch()){
$temp = array();
$temp['accommodation_conditions'] = $accommodation_conditions;
$temp['address'] = $address;
$temp['cancellation_or_prepayment'] = $cancellation_or_prepayment;
$temp['cards'] = $cards;
$temp['desc'] = $desc;
$temp['features'] = $features;
$temp['general'] = $general;
$temp['imageurl'] = $imageurl;
$temp['infrastructure'] = $infrastructure;
$temp['latitude'] = $latitude;
$temp['link'] = $link;
$temp['location'] = $location;
$temp['longitude'] = $longitude;
$temp['name'] = $name;
$temp['notes'] = $notes;
$temp['pets'] = $pets;
$temp['price'] = $price;
$temp['services'] = $services;
$temp['sport_and_leisure'] = $sport_and_leisure;
$temp['stars'] = $stars;
$temp['tourist_tax'] = $tourist_tax;
$temp['type'] = $type;
$temp['with_kids'] = $with_kids;
array_push($hotels, $temp);
}
//displaying the result in json format
echo json_encode($hotels);
Постоянно при запуске файла выбивает ошибку:
Fatal error: Call to a member function execute() on boolean in C:\xampp\htdocs\omk\binskiy\get_hotels.php on line 22
В этой строке:
$stmt->execute();
$conn->prepare
может вернуть FALSE
. Нужно проверять, с ошибкой ли отработал prepare
или нет.
if($stmt = $conn->prepare ("SELECT accommodation_conditions, address, cancellation_or_prepayment, cards, desc, features, general, imageurl, infrastructure, latitude, link, location, longitude, name, notes, pets, price, services, sport_and_leisure, stars, tourist_taxi, type, with_kids FROM hotels;")) {
// тут остальной код, если всё ок
}
Конкретно у вас ошибка в том, что запрос оканчивается на ;
. Не нужно этого. В доках же всё указано:
Note:
You should not add a terminating semicolon or \g to the statement.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
У меня есть такой алгоритм пагинации для inline_keyboard, который строит 2 колонки по 6 элементов, и если элементов больше 12, но меньше 24 (раньше больше...
Не могу понять, чего когда голосуешь, не отображается результат?
Есть код который выводит значения только одного элемента (wdo_tab_title):