Почему я не могу вставить данные из формы с текстом «вставить» в базу данных? - PullRequest
0 голосов
/ 03 декабря 2011

Я пытаюсь сохранить / обновить данные с текстом "... Это означает, что вы можете вставить ключевые слова в заголовок страницы, где когда-либо ....." Это показывает 500 внутренних ошибок сервера, и когда я сохраняю без слова " вставка " в тексте выше, он легко сохраняется в базе данных. То же самое происходит, когда я использую зарезервированные слова, такие как update , delete в поле для добавления / обновления в базе данных. Ошибка связана с зарезервированным словом mysql, нет ли способов от него избавиться?

Я использую CodeIgniter и код для обновления приведенного выше текста:

function update_template($id,$newtext,$newcomptext)

    {       
            $data=array(
            'option_value'=>$newtext,
            'competitive_value'=>$newcomptext
            );
            $this->db->where('id', $id);
            $this->db->update('report_texts', $data); 

            return 'Successfully Updated';


    }

Я был бы очень благодарен за помощь.

1 Ответ

0 голосов
/ 03 декабря 2011

Вероятно, что слово "INSERT" в тексте, который вы пишете в базу данных, вызывает ошибку SQL (INSERT, как правило, является зарезервированным словом в реализациях SQL).

В любом случае инфраструктура CI говорит: «О, у нас проблема. Я должен вернуть сообщение об ошибке 500» в результате ошибки, получаемой из базы данных.

EDIT

Функция $ this-> db-> escape () не помогает в этом, потому что $ this-> db-> query () уже экранирует ваши значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...