[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Запрос PDO
Snnick
Всем привет! Делаю свой второй проект на MVC, ранее пользовался обычными запросами к базе данных, но решил освоить PDO. Пытаюсь реализовать поиск(сортировку) по сайту Сделал запрос PDO для сортировки по значению которое приходит с $_POST . Запрос не работает. Подскажите пожалуйста где я допустил ошибку?


public static function getSearchAll()
{
// Соединение с БД
$db = DB::getConnection();
$options['last_name'] = $_POST['last_name'];
$options['first_name'] = $_POST['first_name'];
$options['phone'] = $_POST['phone'];
$options['department_id'] = $_POST['department_id'];
$options['country_id'] = $_POST['country_id'];
$options['city_id'] = $_POST['city_id'];
$options['education_id'] = $_POST['education_id'];
$options['man_wuman_id'] = $_POST['man_wuman_id'];
$options['position_id'] = $_POST['position_id'];
$options['family_id'] = $_POST['family_id'];
$options['smok_id'] = $_POST['smok_id'];
$options['cabinet_id'] = $_POST['cabinet_id'];

// Текст запроса к БД
$sql = "SELECT * FROM person
JOIN department AS d ON p.department_id = d.id
JOIN position AS po ON p.position_id = po.id
WHERE
(:last_name = NULL OR last_name = :last_name) AND
(:first_name = NULL OR first_name = :first_name) AND
(:phone = NULL OR phone = :phone) AND
(:department_id = 0 OR department_id = :department_id) AND
(:country_id = 0 OR country_id = :country_id) AND
(:city_id = 0 OR city_id = :city_id) AND
(:education_id = 0 OR education_id = :education_id) AND
(:man_wuman_id = 0 OR man_wuman_id = :man_wuman_id) AND
(:position_id = 0 OR position_id = :position_id) AND
(:family_id = 0 OR family_id = :family_id) AND
(:smok_id = 0 OR smok_id = :smok_id) AND
(:cabinet_id = 0 OR cabinet_id = :cabinet_id)

"
;

// Получение и возврат результатов. Используется подготовленный запрос
$result = $db->prepare($sql);
$result->execute([':last_name' => $options['last_name'],
':first_name' => $options['first_name'],
':phone' => $options['phone'],
':department_id' => $options['department_id'],
':country_id' => $options['country_id'],
':city_id' => $options['city_id'],
':education_id' => $options['education_id'],
':man_wuman_id' => $options['man_wuman_id'],
':position_id' => $options['position_id'],
':family_id' => $options['family_id'],
':smok_id' => $options['smok_id'],
':cabinet_id' => $options['cabinet_id']]);

return $result->fetchAll(\PDO::FETCH_OBJ);
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.