@freelion93

SQLSTATE[HY093] как исправить ошибку?

UPDATE. PHP строю sql запрос:
$query = $conn->update('myapp_state')->set('prodid', '?')->where('objid = ?')->setParameter(0, $el['prod_id'])->setParameter(1, $el['object_id']);

Ошибка:
SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens,

Что я делаю не так?
  • Вопрос задан
  • 1143 просмотра
Решения вопроса 1
@freelion93 Автор вопроса
для выражения set требуется созданный заранее параметр, не получится использовать setParameter

$prodid= $el['prod_id'];
$prodidParam = $conn->createNamedParameter($prodid);
$objid = $el['object_id']
objidParam = $conn->createNamedParameter($objid );

$query= $conn->update('myapp_filestate')->set('prodid', $prodidParam)->where('objid = ' . $objid . '');
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
$query = $conn->update('myapp_state')->
set('prodid', '?1')->
where('objid = ?2')->
setParameter(1, $el['prod_id'])->
setParameter(2, $el['object_id']);
Ответ написан
Ваш ответ на вопрос

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

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