ホームページ >データベース >mysql チュートリアル >PHP で MySQL の時差を正しくエコーする方法は?

PHP で MySQL の時差を正しくエコーする方法は?

DDD
DDDオリジナル
2024-12-17 06:31:24636ブラウズ

How to Correctly Echo a MySQL Time Difference in PHP?

PHP で MySQL レスポンスからの時間差をエコーする

PHP では、mysql_query() 関数を使用して SQL クエリを実行できます。 MySQL データベース。ただし、時差を返すクエリの結果を echo() しようとすると、「リソース ID #6」というエラー メッセージが表示される場合があります。

エラーについて

エラー「リ​​ソース ID #6」は、echo() ステートメントが実際のデータの代わりにリソース ハンドルを出力しようとしていることを示します。リソース ハンドルは、MySQL サーバーによって結果セットに割り当てられる一意の識別子です。

ソリューション

時差を正しく表示するには、フェッチ関数を使用する必要があります。結果セットから実際のデータを取得します。 mysql_fetch_row()、mysql_fetch_array()、mysql_fetch_assoc() など、いくつかのフェッチ関数を使用できます。

mysql_fetch_assoc() を使用する例を次に示します。 function:

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

注:

mysql_* 関数は非推奨であるため、新しいプロジェクトでは使用しないでください。代わりに、PDO_MySQL または mysqli 拡張機能を使用してください。

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'];

以上がPHP で MySQL の時差を正しくエコーする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。