F
F
freelion932019-08-26 16:48:08
PHP
freelion93, 2019-08-26 16:48:08

SQLSTATE[HY093] how to fix error?

UPDATE. PHP build sql query:

$query = $conn->update('myapp_state')->set('prodid', '?')->where('objid = ?')->setParameter(0, $el['prod_id'])->setParameter(1, $el['object_id']);

Mistake:
SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens,

What am I doing wrong?

Answer the question

In order to leave comments, you need to log in

2 answer(s)
F
freelion93, 2019-08-28
@freelion93

set expression requires a pre-created parameter, can't use 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 . '');

T
ThunderCat, 2019-08-26
@ThunderCat

$query = $conn->update('myapp_state')->
set('prodid', '?1')->
where('objid = ?2')->
setParameter(1, $el['prod_id'])->
setParameter(2, $el['object_id']);

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question