Почему некоторые запросы, которые работают в mysql, не работают с db_query?Например -
"SELECT * FROM {tb1}, {tb2} WHERE {tb1} .vid =% d" (Конечно, я заменяю% d фактическим значением vid во время тестирования в среде mysql)
"ВЫБЕРИТЕ f1, f2, ..., f10 ИЗ ВНУТРЕННЕГО СОЕДИНЕНИЯ {tb1} {tb2} ON {tb1} .vid = {tb2} .vid ГДЕ {tb1} .vid =% d AND {tb2} .vid =% d
Хотя я получаю 1 запись, возвращаемую в среде mysql для обоих операторов, db_query вообще ничего не возвращает. Любая идея, какую ошибку я совершаю?Я использую IIS 7.5, Mysql 5.5, php 5.2.12 **** ОБНОВЛЕНИЕ **** db_query / db_fetch_object работает очень хорошо. Просто этот hook_view не вызывается. Таким образом, в результате данные не отображаются. Извинитеза неприятности.
ОБНОВЛЕНО
function mymodule_load($node){
$query = 'SELECT f1,f2,...,f10 FROM {tb1} INNER JOIN {tb2} ON {tb1}.vid = {tb2}.vid WHERE {tb1}.vid = %d AND {tb2}.vid = %d';
$result = db_query($query,$node->vid);//If I use db_query($query,$node->vid,$node->vid), drupal doesn't invoke hook_view
drupal_set_message($node->vid,"status"); //for testing purpose
return db_fetch_object($result);
}
function mymodule_view($node, $teaser = FALSE, $page = FALSE){
$node = node_prepare($node, $teaser); // get it ready for display
$f1 = check_markup($node->f1);
..............
$f10 = check_markup($node->f10);
// Add theme stuff here
$node->content['mycontent'] = array(
'#value' => theme('defaultskin', $f1,...,$f10),
'#weight' => 1,
);
return $node;
}
function mymodule_theme(){
return array(
'defaultskin' => array(
'template' => 'node-defaultskin',
'arguments' => array(
'f1' => NULL,
......
'f10' => NULL,
),
),
);
}