@MdaUZH

PDO, MYSQL не срабатывает запрос?

Всем привет, Класс DB конструирует такой запрос:
SELECT * FROM vizit AS v RIGHT JOIN lessons AS l ON v.lesson_id = l.id WHERE v.group_id=:v.group_id2


ecть параметры (bind):
array(1) {
  ["v.group_id2"]=>
  string(1) "3"
}


Выполняю запрос
$this->STH = $this->DBH->prepare($this->query);//тот самый запрос выше
$this->STH->execute($this->bind);//те самые параметры


НО в итоге вылетает исключение:
Fatal error:  Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: parameter was not defined' in ...


Хотя если вставить в phpMyAdmin в SQL этот запрос, то все шикарно работает...

В чем причина?
  • Вопрос задан
  • 195 просмотров
Решения вопроса 1
DevMan
@DevMan
и не должен: точка является недопустимым символом в названии плейсхолдера.
или переписывайте свой конструктор, или делайте замену точки на допустимый символ перед использованием.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Попробуй bind так:
array(1) {
  [":v.group_id2"]=>
  string(1) "3"
}
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Попробуйте убрать точку из имени параметра.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы