2

我正在尝试从 Joomla 页面中的 Joomla MySQL 数据库中获取查询结果。正在返回数据库连接正确的print_r正确结果。但我无法显示已获取的数据。这是我目前为 print_r 得到的结果:

mysqli_result Object ( 
    [current_field] => 0 
    [field_count] => 2 
    [lengths] => [num_rows] => 2 [type] => 0 
) 

这是我正在使用的代码:

{source}
<script language="javascript" type="text/javascript">

</script>
<?php


    // init Joomla Framework
    define( '_JEXEC', 1 );
    define( 'DS', DIRECTORY_SEPARATOR );
    define( 'JPATH_BASE', realpath(dirname(__FILE__).DS.'..' ));


    require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
    require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );

    $mainframe = JFactory::getApplication('site');

    // DBQuery
    $database =& JFactory::getDBO();
    $query = "SELECT city_id, city_name FROM indytoad_city;";
    $database->setQuery($query);
    $result = $database->query();

    print_r($result);
?>
{/source}

请让我知道如何、在哪里以及需要修改什么以显示查询结果。

4

2 回答 2

1

使用loadAssocList()代替query(),即

$result = $database->loadAssocList();

它以关联数组的形式从数据库中获取数据。

Joomla 文档:http ://docs.joomla.org/JDatabase::loadAssocList/11.1

于 2012-11-22T21:05:18.443 回答
1

我不想详细介绍 Joomla 中用于从数据库中检索结果的约定。这完全取决于开发人员。

您没有获得值的原因是您可能将结果数组视为关联数组。它实际上是一个 stdClass 对象!

采用

$result->city_id

要获取 city_id 的值,如果存在多个嵌套类,则可以将其用作

$result->parent->child

希望这可以帮助 !

有关更多信息,您可以查看这个 -> https://stackoverflow.com/a/931419/122840

也代替

$result = $database->query();

采用 :

$result = $database->loadAssocList();

这会将结果加载到关联数组中!

所以你用

$结果['列']

得到结果!

于 2012-11-23T15:00:59.950 回答