我正在尝试从Joomla页面中的Joomla MySQL数据库中获取查询结果。 print_r
正在返回db连接正确的正确结果。但是我无法显示已获取的数据。
这是我正在获得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}
请让我知道我需要修改的方式,地点和内容,以便显示查询结果。
答案 0 :(得分:1)
使用loadAssocList()
代替query()
,即
$result = $database->loadAssocList();
它将数据库中的数据作为关联数组。
Joomla文档:http://docs.joomla.org/JDatabase::loadAssocList/11.1
答案 1 :(得分:1)
我不想详细介绍Joomla中用于从数据库中检索结果的约定。这完全取决于开发人员。
您没有获得该值的原因是因为您可能将结果数组视为关联数组。它实际上是一个stdClass对象!
使用
$result->city_id
获取city_id的值,如果有多个嵌套类,则可以将其用作
$result->parent->child
希望这有帮助!
有关详细信息,请查看此信息 - &gt; https://stackoverflow.com/a/931419/122840
也代替
$result = $database->query();
使用:
$result = $database->loadAssocList();
这会将结果加载到Associated array!
所以你使用
$结果[ '列']
得到结果!