2014-12-17 8 views
0

Сегодня я борюсь с моим настраиваемым модулем. Проблема в том, что когда я вызываю обратный вызов страницы, где у меня есть запрос db_insert, он возвращает мне internall 500 (с сообщением: sql state 4200, что-то не так с запросом). , поэтому javascript вызывает эту страницу, которая запустит модуль, и в дальнейшей разработке она будет давать параметры, как в том, что она будет вставлять в MySQL. Вот да крюк:drupal 7 module wont insert anything to Mysql

array_push($values, array(
    'who' => 'a', 
    'when' => 'a', 
    'where' => 'a', 
    ) 
); 
$testi = array(
    'who' => 'me', 
    'when' => 'yesterday', 
    'where' => 'yomama', 
    ); 
$query = db_insert('tablename') 
    ->fields($testi) 
    ->execute(); 

print_r($testi); 

Я тестировал все любопытные «форматы» из запроса. Например:

$query = db_insert('pgstats') 
    ->fields(array(
    'who' => 'me', 
    'when' => 'yesterday', 
    'where' => 'yomama', 
    )) 
    ->execute(); 

Но ничего ...

EDIT: @ 2pha предложил дать следующую информацию:

PDOException: SQLSTATE [42000]: Ошибка синтаксиса или нарушение прав доступа: 1064 You ошибка в синтаксисе SQL; проверить руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с «когда, где». VALUES ('me', 'вчера', 'yomama') 'в строке 1: INSERT INTO {pgstats} (кто, когда, где) VALUES (: db_insert_placeholder_0,: db_insert_placeholder_1,: db_insert_placeholder_2); Array ([: db_insert_placeholder_0] => me [: db_insert_placeholder_1] => вчера [: db_insert_placeholder_2] => yomama) в stats_recieve_info() (строка 53 файла модуля)

+0

Вы проверили журнал? «admin/reports/dblog» – 2pha

+0

@ 2pha Не удается найти такой журнал, он перейдет на первую страницу журналов – J0N3X

+0

Для этого необходимо включить основной модуль регистрации базы данных. – 2pha

ответ

1

Я нашел причину, почему это не сработало! В моей таблице есть столбцы, называемые «где» и «когда», и по какой-то причине drupal не передавал их как имена столбцов, а как синтаксисы. Один из тех дней ....