在PHP 中回顯MySQL 回應的時間差
在PHP 中,您可以使用mysql_query() 函數來執行SQL SQL SQL 。但是,當您嘗試 echo() 傳回時間差的查詢結果時,可能會遇到錯誤訊息「Resource id #6」。
了解錯誤
錯誤「Resource id #6」表示 echo() 語句正在嘗試列印資源句柄而不是實際資料。資源句柄是MySQL伺服器指派給結果集的唯一識別碼。
解
要正確顯示時間差,需要使用fetch函數從結果集中擷取實際資料。有多個可用的取得函數,包括 mysql_fetch_row()、mysql_fetch_array() 和 mysql_fetch_assoc()。
以下是使用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']; }
注意:
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中文網其他相關文章!