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 サイトの他の関連記事を参照してください。