【问题标题】:Joomla: JDatabase vs direct SQL manipulation from PHPJoomla:JDatabase 与 PHP 的直接 SQL 操作
【发布时间】:2013-09-20 13:51:38
【问题描述】:

需要在 Joomla 2.5 中对 MySQL db 进行一些操作。

使用有什么优缺点:

  • JDatabase 或

  • 从 PHP 直接进行 SQL 操作(使用 php 函数:mysql_connect、mysql_select_db、mysql_query、mysql_fetch_row)

【问题讨论】:

    标签: php mysql joomla joomla2.5


    【解决方案1】:

    使用 JDatabase 无疑是赢家,因为您必须以某种方式找到所有表的前缀。

    使用 JDatabase,您可以使用 #__ 自动访问此 Joomla 安装的前缀。 (请记住,您可能在一个数据库上安装了各种 Joomla)。

    您必须做各种变通方法才能以其他方式找到它,或者您必须创建没有前缀的表,这对于 Joomla 代码也是一个坏主意。

    我不同意 wiscWeb。这不是意见不同的问题。到目前为止,我见过的所有扩展都使用 JDatabase 类或扩展该类以实现它们自己的功能。 (我已经看到了数百个扩展)

    【讨论】:

    • 其实很容易找到db前缀;但是,如果您正在编写扩展程序,那么您越遵守标准(在这种情况下使用 JDatabase),就越容易阅读和扩展您的代码。不要忘记引用/转义所有用户提供的值
    • 你是对的,他们可以从全局配置选项中找到它。事实上,这不是很难——我没有想到这一点。不过,正如您也提到的,在为 Joomla 编写时使用 JDatabase 的优势超出了前缀。
    • 更不用说,如果由于某种原因您切换到另一个数据库,或者您想将您的代码重用于另一个数据库,它会开箱即用。
    猜你喜欢
    • 2018-04-29
    • 2014-07-22
    • 1970-01-01
    • 2015-02-20
    • 1970-01-01
    • 2012-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多