Mysql PHP Ловим массив на новой странице

221
23 апреля 2022, 23:00

Есть страница с подробным описанием товара, у каждой свое id. Пользователь переходит на нее с другой страницы, допустим страница rent на ней выводятся результаты поиска и нажав по нужному товару, человек переходит на страницу ads.php

Когда пользователь переходит на нее, нужно с помощью PHP и правильного запроса Mysql вытащить массив данных по id.

id получаю так:

$id = htmlentities($_GET[‘id’]);

id прекрасно выводится на каждое объявление, а вот весь массив нет, знаю что проблема в запросе к Mysql, но не знаю как правильно сделать. Варианты гуглил, тестировал, но результат не получил.

Если ставить в Mysql запрос конкретный номер, например 35 то массив вытаскивается этого объявления, а мне нужна переменная.

Сейчас массив не вытаскивается, делаю так, не показывает вообще ничего, даже в print_r():

('SELECT
     rent.id, 
     rent.year, 
     rent.run, 
     rent.town_sell,
     rent.price, 
     rent.description,
     rent_photo.photo AS img,
     mark.title AS mark,
     model.title AS model,
    city.title AS town_sell
   FROM rent
 INNER JOIN mark ON rent.mark = mark.id
 INNER JOIN model ON rent.model = model.id
 INNER JOIN city ON rent.town_sell = city.id 
 
  LEFT JOIN rent_photo ON rent.id = rent_photo.rent_id
  WHERE rent.id IN (ЗДЕСЬ ДОЛЖНА БЫТЬ ПЕРЕМЕННАЯ АЙ ДИ) 
  ORDER BY rent.time_upload DESC');

Очень надеюсь на вашу помощь.

Answer 1

Пример запроса на php PDO:
Файл подключения к БД.
dbase.php

try {
    $dbh = new PDO('mysql:dbname=yourDB;host=DBip;charset=utf8', 'DBlogin', 'DBpass');
} catch (PDOException $e) {
    die($e->getMessage());
}

Файл с запросом:

require 'dbase.php'; // Подключаем БД

$id = htmlentities($_GET['id']);
$sql = "SELECT
     rent.id, 
     rent.year, 
     rent.run, 
     rent.town_sell,
     rent.price, 
     rent.description,
     rent_photo.photo AS img,
     mark.title AS mark,
     model.title AS model,
    city.title AS town_sell
   FROM rent
 INNER JOIN mark ON rent.mark = mark.id
 INNER JOIN model ON rent.model = model.id
 INNER JOIN city ON rent.town_sell = city.id 
  LEFT JOIN rent_photo ON rent.id = rent_photo.rent_id
  WHERE rent.id = :id 
  ORDER BY rent.time_upload DESC"; // Запрос
$req = $dbh->prepare($sql);
$req->bindValue(':id', $id, PDO::PARAM_STR);
$req->execute();
$array = $req->fetchAll(PDO::FETCH_ASSOC); // Получаем данные
if($array){
    print_r($array); // Выводим результат
}
READ ALSO
Как из powershell скрипта записать кириллицу в MySQL (UTF-8)?

Как из powershell скрипта записать кириллицу в MySQL (UTF-8)?

Есть столбец таблицы с кодировкой utf8 (менять кодировку нельзя)

183
Строение таблицы в БД

Строение таблицы в БД

делаю периодически БД(Mysql) для интернет-магазинов, новостных сайтов и тд

214