從MySQL 查詢中提取資料:克服「資源id #」問題
在PHP 中,使用mysql_query() 執行MySQL 查詢時函數,結果儲存為資源標識符。要從查詢中存取實際數據,必須使用像 mysql_fetch_assoc() 這樣的獲取函數。
原始程式碼和問題:
<code class="php">$datos1 = mysql_query("SELECT TIMEDIFF(NOW(), '" . $row['fecha'] . "');"); echo($datos1);</code>
但是,此程式碼沒有提供預期的結果。相反,它會列印“Resource id #6”,這表明查詢結果是資源而不是實際資料。
解決方案:使用Fetch 函數:
要從查詢中提取數據,請使用像mysql_fetch_assoc() 這樣的獲取函數,如下所示:
<code class="php">$result = mysql_query(sprintf("SELECT TIMEDIFF(NOW(), '%s') as time_delta", $row['fecha'])); if ($result) { $data = mysql_fetch_assoc($result); echo $data['time_delta']; }</code>
注意:
雖然mysql 函數仍然支援PHP,不鼓勵使用它們。相反,請考慮將 PDO 與 PDO_MYSQL 或 MySQLi 結合使用,以獲得更好的效能、安全性以及與未來版本的 PHP 的兼容性。
以上是如何在 PHP 中從 MySQL 查詢結果中提取資料並避免「資源 id #」問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!