mysql pdo пытается установить для столбца значение uuid () возвращает & quot; Неверный номер параметра: число связанных переменных не соответствует количеству токенов & quot;

У меня есть сборка 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?

Спасибо

0

Решение

Заполнитель не является частью синтаксиса запроса INSERT, как вы, вероятно, думаете.

Синтаксис SQL, при использовании подготовленных операторов PDO, остается точно таким же. В то время как заполнитель должен использоваться только для представления внешних данных.

Итак, пока у вас есть четыре заполнители в вашем запросе SQL, вы должны точно связать четыре переменные в вашем заявлении PDO.

Хотя для любой внутренней функции вам не нужно никуда «проходить» или связывать ее. Он уже на месте и не имеет никакого отношения к коду PDO.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]