【问题标题】:Fetching database query through function通过函数获取数据库查询
【发布时间】:2013-10-19 23:01:18
【问题描述】:

我厌倦了在每个脚本中连接数据库,我需要一种更加面向对象的方法来获取数据库结果。例如 wordpress 使用 wpdb 类来获取结果。

这就是 wordpress 获取数据的方式

<?php  $posts = $wpdb->get_results("SELECT ID, post_title FROM $wpdb->posts WHERE post_status = 'publish'


 AND post_type='post' ORDER BY comment_count DESC LIMIT 0,4")
?>

如何使用任何类或函数也创建相同的功能

并在我的脚本中使用它

谢谢

【问题讨论】:

    标签: php mysql wordpress oop content-management-system


    【解决方案1】:

    那里有很多图书馆。有些提供更多,因此可能比其他更复杂。我假设您正在寻找更简单的东西。

    您实际上可以提取 wordpress 的整个 wpdb 类并在您的项目中使用它。该类实际上是ezSQL 的略微修改版本。

    不过,其他一些流行的库包括:DoctrinePropelPHP-Activerecord。这些不仅允许您进行简单的查询命令,还允许您将数据库映射到 PHP 对象。如今,许多流行的框架都在使用它们。如果您有兴趣,可以阅读有关Active Record PatternObject Relational Mapping 的更多信息

    编辑:“如何将 wpdb 类添加到我的项目中?”

    很简单:)。 wpdb 类保存在wp-includes/wp-db.php 中。您可以将该文件包含在您的项目中。然后创建一个新对象。示例如下:

    require_once('wp-db.php);
    $db = new wpdb('username','password','database','localhost');
    $results = $db->get_results("SELECT * FROM {$yourtable}");
    print_r($results);
    

    这个简单的例子应该能让你开始。

    【讨论】:

    • 感谢您的帮助@kirill 你能解释一下我如何将 wpdb 类添加到我的项目中。
    • @ShubhamMaurya 将示例添加到我的答案中。希望这可以帮助。不要害怕深入 wp-db.php 文件,看看它是如何工作的:)。
    • @kirril 感谢您的帮助。它肯定给了我答案,但我仍然不想在每个脚本中连接到数据库。有什么方法可以连接我的数据库一次并在整个项目中使用它。
    • @ShubhamMaurya 您不必这样做,您可以创建一个 wpdb 对象并像在 wordpress 中一样使用它。因此,您可以在加载的第一个文件中声明$db = new wpdb(...);,然后在所有其他文件中声明$db-&gt;get_results(...);。您不必在每个文件中都使用$db = new wpdb(...);。只要$db 对象可用,您就可以使用它创建一个新查询。有意义吗?
    • 是的,非常感谢。我可以在 wp-includes 中使用 wordpress 的其他类,就像我用这个一样..????
    猜你喜欢
    • 2012-01-15
    • 1970-01-01
    • 2011-05-17
    • 2013-12-14
    • 2020-01-20
    • 1970-01-01
    • 2010-10-28
    • 2012-06-05
    相关资源
    最近更新 更多