如何使用Joomla数据库对象?

时间:2014-01-20 17:55:35

标签: object joomla

我在本地服务器(USBWEBSERVER)中有这个:

$result = mysql_query("SELECT * FROM dbemployeekpw WHERE username LIKE '$param%'");
if(mysql_num_rows($result)==1) {
while($myrow = mysql_fetch_array($result)){
  $formality = $myrow["formality"];

但是在Joomla中这不起作用,如何为Joomla数据库对象更改它?

这是我连接到Joomla DB的方法,并且可以在其他程序中正常工作:

    $db =& JFactory::getDBO();
    $query  = "SELECT  `email` FROM  `brg4w_users`";
    $db->setQuery($query);
    $result = $db->loadObjectList();
    $email  = $result[0];
    echo $email->email

所以我想在这个剧本中会有这样的东西(我不确定):

$db =& JFactory::getDBO();  
    $query = "SELECT * FROM dbemployeekpw WHERE username = 'camilo.uribe@kantarworldpanel.com'";
$db->setQuery($query);
$results = $db->loadAssocList();

foreach($结果为$ myrow)

{echo $ myrow-> fullname; }

但是不行,所以问题是,我怎么能在Joomla languaje中做到这一点:

if(mysql_num_rows($result)==1) {
while($myrow = mysql_fetch_array($result)){
  $formality = $myrow["formality"];

再次感谢!

1 个答案:

答案 0 :(得分:1)

首先,您应该阅读Joomla Documentation数据库查询。它提供了一些很好的信息和例子

你的问题看起来像这样:

$db = JFactory::getDbo();
$query = $db->getQuery(true);

$query->select('*');
->from($db->quoteName('dbemployeekpw'))
->where($db->quoteName('username') .'='. $db->quote('camilo.uribe@kantarworldpanel.com'));

$db->setQuery($query);
$results = $db->loadObjectList();

foreach ( $results as $result ) {
     $result->formality;
}

如果您的数据库表是Joomla扩展程序的一部分,请将dbemployeekpw替换为#__dbemployeekpw

确保从不使用mysql_*进行数据库查询。另请注意,我尚未测试此查询,因此请告诉我它是否有效。

希望这有帮助