Home >Backend Development >PHP Tutorial >How do you extract data from a MySQL query result in PHP and avoid the \'Resource id #\' issue?
Extracting Data from MySQL Query: Overcoming "Resource id #" Issue
In PHP, when executing a MySQL query using the mysql_query() function, the result is stored as a resource identifier. To access the actual data from the query, a fetch function like mysql_fetch_assoc() must be employed.
Original Code and Issue:
<code class="php">$datos1 = mysql_query("SELECT TIMEDIFF(NOW(), '" . $row['fecha'] . "');"); echo($datos1);</code>
However, this code doesn't provide the expected results. Instead, it prints "Resource id #6," which indicates that the query result is a resource rather than the actual data.
Solution: Using Fetch Function:
To extract the data from the query, use a fetch function like mysql_fetch_assoc() as follows:
<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>
Note:
While the mysql functions are still supported in PHP, their use is discouraged. Instead, consider using PDO with PDO_MYSQL or MySQLi for better performance, security, and compatibility with future versions of PHP.
The above is the detailed content of How do you extract data from a MySQL query result in PHP and avoid the \'Resource id #\' issue?. For more information, please follow other related articles on the PHP Chinese website!