mysql_real_escape_string() не работает в cakePHP

Мой запрос выглядит так,

... ON (`Test`.`id` = `Form`.`close_`%)...

Выдает ошибку говоря Syntax error or access violation: 1064, Я использую CakePHP. Я пытался с помощью

$field_name='close_%';
Sanitize::clean(utf8_encode($field_name),array('encode' => false));

Я пытался даже mysql_real_escape_string() также.

Имя моей колонки close_%

Но все равно это не сработало. Как обойти имя столбца с символом% в запросе, используя CakePHP?

1 ответ

Sanitize функции предназначены для работы с данными, а не именами столбцов и mysql_real_escape_stringчто, безусловно, является актом отчаяния, рассчитан на то же самое.

Что вы хотите сделать, это указать свой столбец как:

`close_%`

Обязательно поместите все имя столбца внутри обратной галочки.

Честно говоря, вы не должны иметь такого мусора в названиях ваших колонок. Это просто раздражает.

Другие вопросы по тегам