Привет им нарваться проблемы в CakePHP, когда я использовать этот запросSql инъекций и и UpdateAll выпуск CakePHP
$this->Rh->CompetencesUser->updateAll(array(
'CompetencesUser.niveau' => "'$value[1]'",
'CompetencesUser.expertise' => $value[2],
'CompetencesUser.rh_id' => $this->Rh->getLastInsertId()
), array(
'CompetencesUser.user_id' => $this->request->params['pass'][0],
'CompetencesUser.competence_id' => $value[3]
));
это работает, но когда я даю некоторые символы, такие как 'в поле $value[1]
он показывает ошибку, так как я могу избежать этого символа, или я могу использовать другой метод, потому что $value[1]
не работают без добавления этих котировок. Заранее спасибо
@Holt Согласно [документации] (http://book.cakephp.org/2.0/ru/models/saving-your-data.html#model-updateall-array-fields-mixed- условия): массив $ fields принимает выражения SQL, поэтому литеральные значения должны быть указаны вручную. – marian0
Я думал об этом, но когда я даю, например, строку, такую как дом, я получил эту ошибку sql, говорящую о поле для разметки поля, и потому что в ней нет цитат. это должно быть что-то вроде «дома», и оно работает. Я считаю, что очень глупо добавлять цитаты, которые почему-то спрашивают. Торт должен сделать это – user1655410
oki, теперь я понимаю, спасибо – user1655410