codecamp

Joomla 连接数据库

Joomla提供了完善的数据库抽象层,以简化第三方开发人员使用。Joomla支持各种不同的SQL数据库类型,开发人员只需要调用Joomla提供的数据库API接口,系统就会自动处理数据库的适配以及兼容问题,极大的方便了开发者进行跨平台应用的开发。

 自Joomla1.6之后,Joomla的数据库查询方式发生了较大的变化,推荐使用构建查询对象的方式来查询(当然目前系统仍然支持字符串的查询)。 数据库查询对象支持链式操作,可以方便的写查询语句。

链接数据库

我们使用JFactory::getDBO()方法就可以获得当前的数据库链接对象。系统会自动的使用configruation.php中的链接信息进行链接。代码如下:

$db = JFactory::getDBO();

获得查询对象

为了获得一个查询对象,首先需获得数据库的链接对象,然后调用链接对象的getQuery方法。代码如下:

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

JDatabaseDriver::getQuery方法接受一个可选的参数:$new .这是一个boolean值,默认为false,表示是否新获得一个查询对象。

在查询对象中,提供了很多的方法,比如书select() ,where(),join().from(),order()等等,基本上就是对SQL的关键词进行了封装,每一个关键词对应一个方法。查询对象支持链式操作,可以很方便的写出各种查询。一段典型的代码如下:

//常规查询语句
$query ='SELECT * FROM #__zmax_users WHERE id=1'
 
//查询对象的方法
$query->select("*")->from("#__zmax_users")->where("id=1");

我们强烈推荐使用查询语句来写SQL,这样做大大的加强了代码的可移植性。 


Joomla 更新记录
Joomla 数据库使用事务
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

处理URL请求参数

Joomla 错误和调试

Joomla 缓存

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }