доктрина создать запрос - параметр и значение - PullRequest
0 голосов
/ 06 июня 2011

У меня есть таблица в 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]: недопустимый номер параметра: количество связанных переменных не соответствует количеству токенов

Что я делаю не так?

1 Ответ

2 голосов
/ 06 июня 2011

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

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

->andWhere('num'.$num.' = ?', $val)
...