我正在使用 Drupal 的 db_fetch_array 从 db_query 中获取行。但是,返回的每一行都等于 NULL。在 PHP myadmin 中输入查询可以正常工作,所以我不知道发生了什么。 db_num_rows 也返回行数。这是代码:
if(count($rebuild_ids))
{
$ids=implode(",",$rebuild_ids);
$type_stmt = "SELECT * from {" . ItemType::$type_table_name . "} where id IN ($ids)";
$new_items=db_query($type_stmt);
if(!$new_items || db_num_rows($new_items) == 0)
{
return;
}
while($row = db_fetch_array($new_items));
{
if ($row!=NULL)
{
echo "I work!"
$game_items[] = $row['id'];
ItemInstance::$nid_to_item_type_code[$row['nid']] = $row['id'];
}
}
}
但是,它永远不会进入第三个 if 语句(即永远不会回显“我工作!”)有什么想法吗?
最佳答案
友情建议:Drupal 有一个编码标准 http://drupal.org/coding-standards ——这有助于留住他们。这样的话这个错误就会更加明显......
在查询中放入变量也是一个巨大的禁忌 http://drupal.org/writing-secure-code
关于php - Drupal - db_fetch_array 对每一行返回 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2811507/