У меня есть сборка MySQL PDO для вставки, как это:
insert into user (id_user, email, password, name, uuid) values (:id_user, :email, :password, :name, uuid() )
Заметка: последний uuid () не имеет двоеточия, потому что мне нужно, чтобы Mysql выполнял функцию во время вставки.
Это возвращает мне исключение:
SQLSTATE [HY093]: недопустимый номер параметра: количество связанных переменных
не соответствует количеству токенов
Как я могу передать внутреннюю функцию MySQL "uuid()"
используя PDO?
Спасибо
Заполнитель не является частью синтаксиса запроса INSERT, как вы, вероятно, думаете.
Синтаксис SQL, при использовании подготовленных операторов PDO, остается точно таким же. В то время как заполнитель должен использоваться только для представления внешних данных.
Итак, пока у вас есть четыре заполнители в вашем запросе SQL, вы должны точно связать четыре переменные в вашем заявлении PDO.
Хотя для любой внутренней функции вам не нужно никуда «проходить» или связывать ее. Он уже на месте и не имеет никакого отношения к коду PDO.
Других решений пока нет …