Maison  >  Article  >  développement back-end  >  Comment interroger la base de données dans un délai donné en php

Comment interroger la base de données dans un délai donné en php

PHPz
PHPzoriginal
2023-03-29 10:12:401496parcourir

Dans le processus de développement d'un site Web, il est souvent nécessaire d'interroger des informations sur la base de données dans un certain laps de temps, par exemple en interrogeant l'heure d'inscription d'un utilisateur, l'heure de commande d'une commande ou l'heure de publication d'un article. PHP fournit des méthodes pratiques pour réaliser cette fonction.

1. Déclarations de requête de base de données

Tout d'abord, nous devons apprendre à utiliser les instructions SQL pour interroger des informations sur une certaine période de temps dans la base de données. Les instructions SQL couramment utilisées sont les suivantes :

  • SELECT * FROM table_name WHERE datetime_column >= start_time AND datetime_column <= end_time;

Parmi elles, table_name fait référence au nom de la table de données que nous souhaitons interroger, et datetime_column est le nom de la colonne pour stocker l'heure. start_time et end_time font référence à la plage horaire que nous souhaitons interroger. Le format de l'heure ici est généralement AAAA-MM-JJ HH:MM:SS. SELECT * signifie interroger des informations sur toutes les colonnes.

Nous pouvons également interroger uniquement les informations de certaines colonnes. Par exemple :

  • SELECT column1, column2 FROM table_name WHERE datetime_column >= start_time AND datetime_column <= end_time;

Cette instruction signifie interroger uniquement les informations de la colonne 1 et de la colonne 2.

2. Utilisez php pour vous connecter à la base de données

Ensuite, nous devons utiliser php pour nous connecter à la base de données. PHP fournit de nombreuses bibliothèques d'extensions pour prendre en charge différents types de bases de données, telles que mysqli, PDO, etc.

Voici mysqli comme exemple pour montrer comment se connecter à la base de données :

<?php
$servername = "localhost"; // 数据库服务器名
$username = "username"; // 数据库用户名
$password = "password"; // 数据库密码
$dbname = "database_name"; // 数据库名

// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);

// 检测连接
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?><p>Dans cet exemple, nous utilisons la fonction mysqli_connect() pour créer une connexion à la base de données. Parmi eux, $servername, $username, $password et $dbname représentent respectivement le nom du serveur de base de données, le nom d'utilisateur, le mot de passe et le nom de la base de données. Si la connexion échoue, le code affichera « Échec de la connexion ». </p>
<p>3. Utilisez php pour interroger la base de données </p>
<p>Avec la connexion à la base de données, nous pouvons utiliser php pour interroger la base de données à l'étape suivante. Tout d’abord, nous devons construire une instruction de requête SQL, puis utiliser la fonction mysqli_query() pour exécuter la requête. </p>
<p>Dans cet exemple, interrogez l'heure d'inscription d'un utilisateur : </p>
<pre class="brush:php;toolbar:false"><?php
$start_time = "2021-01-01 00:00:00";
$end_time = "2021-01-31 23:59:59";
$user_id = 1;

$sql = "SELECT registration_time FROM users WHERE user_id = $user_id AND registration_time >= '$start_time' AND registration_time <= &#39;$end_time&#39;";

$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
    // 输出每行数据
    while($row = mysqli_fetch_assoc($result)) {
        echo "registration_time: " . $row["registration_time"]. "<br>";
    }
} else {
    echo "0 结果";
}

mysqli_close($conn);
?>

Dans cet exemple, nous avons construit une instruction SQL pour interroger l'heure d'inscription d'un utilisateur en janvier 2021. Parmi eux, $user_id, $start_time et $end_time sont des variables utilisées pour construire dynamiquement des instructions SQL. Notez que dans l'instruction SQL, nous utilisons des guillemets simples pour entourer $start_time et $end_time. En effet, le format de l'heure est un format de chaîne et doit être placé entre guillemets simples. Si vous souhaitez interroger une variable de type numérique, vous n'avez pas besoin de guillemets simples. Enfin, utilisez la fonction mysqli_fetch_assoc() pour lire les résultats de la requête ligne par ligne.

4. Utilisez PDO pour interroger la base de données

En plus de mysqli, il existe également une bibliothèque d'extension de base de données PHP commune - PDO (PHP Data Objects). PDO est une couche d'abstraction de base de données sur les plates-formes de bases de données. Elle se caractérise par la prise en charge de nombreux types de bases de données différents et offre de bonnes performances. L'utilisation de PDO ressemble à peu près à ceci :

<?php
$dsn = "mysql:host=localhost;dbname=database_name;charset=utf8mb4";
$username = "username";
$password = "password";

try {
    $conn = new PDO($dsn, $username, $password);
    // 设置PDO错误模式为异常
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $start_time = "2021-01-01 00:00:00";
    $end_time = "2021-01-31 23:59:59";
    $user_id = 1;

    $sql = "SELECT registration_time FROM users WHERE user_id = :user_id AND registration_time >= :start_time AND registration_time <= :end_time";
    $stmt = $conn->prepare($sql);
    $stmt->bindParam(':user_id', $user_id, PDO::PARAM_INT);
    $stmt->bindParam(':start_time', $start_time, PDO::PARAM_STR);
    $stmt->bindParam(':end_time', $end_time, PDO::PARAM_STR);
    $stmt->execute();

    // 设置查询结果的返回模式为关联数组
    $stmt->setFetchMode(PDO::FETCH_ASSOC);
    // 输出每行数据
    while ($row = $stmt->fetch()) {
        echo "registration_time: " . $row["registration_time"]. "<br>";
    }
} catch(PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
}
$conn = null;
?>

Dans cet exemple, nous utilisons PDO pour nous connecter à la base de données et exécuter une instruction SQL pour interroger l'heure d'enregistrement de l'utilisateur. Comparé à MySQLi, PDO est plus orienté objet, plus facile à lire et à écrire.

En bref, que vous utilisiez MySQLi ou PDO, PHP fournit de nombreuses méthodes pratiques pour interroger les informations de la base de données sur une période donnée. Les développeurs peuvent choisir d’utiliser différentes méthodes en fonction de leur situation réelle.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn