запрос на создание доктрины - параметр и значение

у меня есть таблица в mysql:

id | num1 | num2| num 3| num3| num5|
1  | 6    | 3   | 4    | 2   | 1   |

$ num = num2; $ val = 2; $ id = 2;

если я использую

$q = Doctrine_Query::create()
->update('TABLE')
->set($num, '?', $val)
->where('id = ?', $id)
->execute();

работает нормально, но я использую:

            $q = Doctrine_Query::create()
          ->from('TABLE')
          ->where('id = ?', $id)
          ->andWhere($num ,' ?', $val)
          ->execute();

не работает. У меня: 500 Внутренняя ошибка сервера

Doctrine_Connection_Mysql_Exception: SQLSTATE [HY093]: недопустимый номер параметра: количество связанных переменных не соответствует количеству токенов

Что я делаю неправильно?


person clausix95    schedule 05.06.2011    source источник
comment
Откуда взялось значение $ num? Это выглядит очень подозрительно, и я буду осторожен с вашими дальнейшими действиями.   -  person Gerry    schedule 06.06.2011


Ответы (1)


->andWhere($num ,' ?', $val) недействителен .

ты должен попробовать

->andWhere('num'.$num.' = ?', $val)
person j_freyre    schedule 06.06.2011