Maison > Article > développement back-end > Pourquoi `echo()` renvoie-t-il \"ID de ressource #6\" lors de l'utilisation de `mysql_query()` en PHP ?
Faire écho à la réponse MySql : décoder l'ID de ressource n°6 en PHP
Un défi courant dans la programmation PHP consiste à récupérer les données d'une réponse MySql. Lorsque vous utilisez mysql_query() pour exécuter une requête, vous pouvez rencontrer le message déroutant "Resource id #6" lorsque vous tentez d'afficher le résultat à l'aide de echo(). Ce problème se produit en raison de la nature brute de la sortie mysql_query(), qui renvoie un identifiant de ressource au lieu des données de résultat réelles.
Pour résoudre ce problème, vous devez utiliser une fonction fetch pour extraire les informations souhaitées du ressource. Voici un exemple :
<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>
Cette approche améliorée exécute d'abord la requête, puis utilise mysql_fetch_assoc() pour récupérer les données sous forme de tableau associatif. En accédant à la clé time_delta dans ce tableau, vous pouvez désormais faire écho avec succès au résultat souhaité.
Remarque : Bien que cette solution fournisse un moyen simple de résoudre le problème « ID de ressource #6 », il est recommandé de migrer de l'extension obsolète mysql au profit d'alternatives plus modernes telles que PDO ou mysqli. Ces options plus récentes offrent une sécurité renforcée, des performances améliorées et une meilleure prise en charge des interactions de bases de données complexes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!