2013-05-07 33 views
1

我一直在做一个函数来获取joomla 2.5数据库的具体价值。但是,现在我又遇到了一个问题。在这里,我的Joomla作出新三个表,让说如何检查joomla 2.5中的表数据库与php

  1. joomlatest_name1_year1
  2. joomlatest_name1_year2

的问题是,如何知道该表确实存在的Joomla数据库和PHP?感谢提前

回答

7

Joomla!框架提供了一种方法来检索现有表的名称。

$tables = JFactory::getDbo()->getTableList(); 
print_r($tables); 

一个简单的检查与in_array()能告诉你,如果预期的表存在或不存在。

+0

这项工作,谢谢 – 2013-05-30 02:08:12

1

尝试使用以下:

$db = JFactory::getDbo(); 
$query = $db->getQuery(true); 
$query->select(array('*')); 
$query->from($db->quoteName('#__name1_year1')); 
$db->setQuery($query); 

if($query){ 
    echo "Table Exists"; 
} 
else { 
    echo "Table doesn't exist"; 
} 

我没有测试过这一点,但希望它帮助。

+0

我看到了一些新的东西! +1。谢谢。 – zkanoca 2013-05-07 11:52:18

+0

Lodder,这不适用于Joomla 3,我想或者至少在运行扩展安装script.php时,因为它会产生错误并取消安装。 – mavrosxristoforos 2014-09-15 11:38:37

+0

@mavrosxristoforos - 我已经更新了我很久以前写的答案。今晚晚些时候,我会给它一个适当的测试 – Lodder 2014-09-15 12:05:34