📜  像使用准备 wordpress 进行查询一样 - PHP (1)

📅  最后修改于: 2023-12-03 14:50:02.093000             🧑  作者: Mango

像使用准备 WordPress 进行查询一样 - PHP

在 PHP 开发中,经常需要从数据源(如数据库或 API)中检索数据。这就需要使用查询语句,它们可以实现从数据源中提取所需数据的功能。有许多方式可以查询 PHP 中的数据源,但本文将介绍使用像使用 WordPress 进行查询一样的方式。

WordPress 查询

WordPress 是一个用 PHP 编写的开源内容管理系统(CMS),它使用了一种查询语言,即 WordPress 查询语言(WP_Query),来检索数据。WP_Query 是一个非常强大的查询工具,它支持许多功能,例如分页、排序、筛选和搜索等。下面是一个简单的示例:

$args = array(
    'post_type' => 'post',
    'category_name' => 'technology',
    'posts_per_page' => 5,
);

$query = new WP_Query( $args );

if( $query->have_posts() ) {
    while( $query->have_posts() ) {
        $query->the_post();
        echo '<h2>' . get_the_title() . '</h2>';
        the_excerpt();
    }
}

上面的代码将从数据库中检索所有类别为“technology”的文章,并只显示最近的五篇文章。如果您想了解有关使用 WP_Query 的更多信息,请阅读 WordPress 官方文档

在 PHP 中执行查询

虽然 WP_Query 是一个非常有用的工具,但它仅限于 WordPress 网站。如果您正在开发非 WordPress 网站,您可能需要使用其他 PHP 查询方法。本节将介绍使用 PHP 标准查询方法进行查询的基础。

连接到数据库

要使用 PHP 进行查询,您需要通过创建一个数据库连接来连接到数据源。可以使用 PHP PDO 和 mysqli 扩展程序提供的方法来实现此操作。下面是一个使用 PDO 的示例:

$db_host = 'localhost';
$db_name = 'my_database';
$username = 'my_user';
$password = 'my_password';

$dsn = "mysql:host=$db_host;dbname=$db_name;charset=utf8mb4";

try {
    $pdo = new PDO($dsn, $username, $password);
} catch (PDOException $e) {
    die('Connection failed: ' . $e->getMessage());
}

上面的代码在本地主机上连接到名为“my_database”的 MySQL 数据库。如果连接失败,则会显示错误消息。

执行查询

连接到数据库后,您可以使用 SQL 查询从数据源中检索所需数据。例如,下面的代码将从“posts”表中检索所有文章的标题:

$sql = 'SELECT post_title FROM posts';

$stmt = $pdo->query($sql);

while ($row = $stmt->fetch()) {
    echo '<h2>' . $row['post_title'] . '</h2>';
}

建议您使用 PDO 或 mysqli 扩展来执行查询,而不是使用 PHP 内置的 mysql 扩展。因为 mysql 扩展已被弃用,并且可能存在安全漏洞。

结论

本文介绍了使用像使用 WordPress 进行查询一样的方式进行 PHP 查询的基础知识。我们介绍了 WP_Query 和 PDO/mysqli 连接和查询。希望这篇文章对您有所帮助!