Странности SQL запроса. Впервые с таким встречаюсь.

Главные вкладки

Аватар пользователя kosskren kosskren 30 мая 2018 в 10:41

Версия друпал 7.59

Давно занимаюсь друпалом, но с таким впервые столкнулся.
Есть запрос на сохранение/обновление данных:

<?php
function as_contact_save_info($info){

    

$insert db_merge('a_salon_сontacts');
    
$insert->insertFields(array(
    
'uid' => $info['uid'],
    
'type' => $info['type'],
    
'about' => $info['about'],
    
'contact' => $info['contact'],
    
'weight' => $info['weight'],
        ));
    
$insert->updateFields(array(
    
'type' => $info['type'],
    
'about' => $info['about'],
    
'contact' => $info['contact'],
    
'weight' => $info['weight'],
        ));
    
$insert->condition('id'$info['line_id'], '=');
    
$insert->execute();    
}
?>

Обработка через Ajax. При этом выдается такая вот ошибка

ajax error

Вопрос: почему в названии таблицы исчезла буква "С"?. Стоит переименовать таблицу другим именем,
все нормально становится.

p.s.: гуглил, яндексил Smile

Лучший ответ

Комментарии

Аватар пользователя postgres postgres 30 мая 2018 в 11:08
1

там по парсингу все что угодно может быть, поскольку у вас имя поле type - зарезервированный ключевик sql

попробуйте так тоже:

<?php
...
'`type`' => $info['type'],
...
?>
Аватар пользователя kosskren kosskren 30 мая 2018 в 11:14

fairrandir прав. Русская буква "С". Решил еще раз проверить.Сейчас нашел онлайн конвертер символов в числовые значения, в нем есть удобная функция - кодировать только русские символы. Тут мне буква "С" и попалась.
Вопрос решен.