Maison >base de données >tutoriel mysql >Comment faire écho correctement à un décalage horaire MySQL en PHP ?

Comment faire écho correctement à un décalage horaire MySQL en PHP ?

DDD
DDDoriginal
2024-12-17 06:31:24635parcourir

How to Correctly Echo a MySQL Time Difference in PHP?

Faire écho à un décalage horaire à partir d'une réponse MySQL en PHP

En PHP, vous pouvez utiliser la fonction mysql_query() pour exécuter des requêtes SQL sur une base de données MySQL. Cependant, lorsque vous essayez d'écho() le résultat d'une requête qui renvoie un décalage horaire, vous pouvez rencontrer le message d'erreur « ID de ressource n°6 ».

Comprendre l'erreur

L'erreur « ID de ressource n°6 » indique que l'instruction echo() tente d'imprimer un descripteur de ressource au lieu des données réelles. Un handle de ressource est un identifiant unique attribué au résultat défini par le serveur MySQL.

Solution

Pour afficher correctement le décalage horaire, vous devez utiliser une fonction de récupération pour récupérer les données réelles de l’ensemble de résultats. Plusieurs fonctions de récupération sont disponibles, notamment mysql_fetch_row(), mysql_fetch_array() et mysql_fetch_assoc().

Voici un exemple qui utilise la fonction mysql_fetch_assoc() :

$result = mysql_query(sprintf("SELECT TIMEDIFF(NOW(), '%s') as time_delta", $row['fecha']));
if ($result) {
  $data = mysql_fetch_assoc($result);
  echo $data['time_delta'];
}

Remarque :

Les fonctions mysql_* sont obsolète et ne doit pas être utilisé dans de nouveaux projets. Utilisez plutôt les extensions PDO_MySQL ou mysqli.

Exemple amélioré utilisant PDO

$pdo = new PDO('mysql:host=localhost;dbname=database_name', 'username', 'password');
$stmt = $pdo->prepare("SELECT TIMEDIFF(NOW(), :fecha) as time_delta");
$stmt->bindParam(':fecha', $row['fecha'], PDO::PARAM_STR);
$stmt->execute();
$data = $stmt->fetch(PDO::FETCH_ASSOC);
echo $data['time_delta'];

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