SQL запрос

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

Аватар пользователя Nicola Nicola 8 мая 2007 в 1:53

Помогите не могу составить sql запрос для добавления ноды в Друпал.

$query = mysql_query( "INSERT INTO node ( nid, vid, type ) ".
"VALUES ( ".$i_nid.",".$i_nid.",".$type_content.")" );

НО ОН НЕ РАБОТАЕТ, потому что в type я так понял нужно добавлять field. Но я не не знаю как это сделать, чтобы взять field из другой таблицы - node_type?

Комментарии

Аватар пользователя Nicola Nicola 8 мая 2007 в 10:29

Сам ответил на свой вопрос. Забыл ' и '

$query = mysql_query( "INSERT INTO node ( nid, vid, type ) ".
"VALUES ( ".$i_nid.",".$i_nid.",'".$type_content."')" );

Аватар пользователя Dan Dan 8 мая 2007 в 23:43

Не надо трогать БД напрямую, иначе все ваши наработки могут перестать действовать при следующем апгрейде или, что хуже, будут работать наполовину.

В данном случае можно воспользоваться ф-цией drupal_execute($form_id, $form_values).
Пример из описания ф-ции.
Добавление нового материала:
<?php
$node = array('type' => 'story');
$values['title'] = 'My node';
$values['body'] = 'This is the body text!';
$values['name'] = 'robo-user';
drupal_execute('story_node_form', $values, $node);
?>