ホームページ >バックエンド開発 >PHPチュートリアル >PHP で MySQL クエリをエコーすると文字列ではなく「リソース ID #6」が返されるのはなぜですか?
MySQL クエリ結果を文字列としてエコーする
PHP の一般的なタスクは、MySQL データベースからデータを取得して Web 上に表示することです。ページ。ただし、MySQL クエリの結果をエコーしようとすると、予期した文字列ではなく「リソース ID #6」というエラーが発生する場合があります。
リソース ID について
mysql_query() などの関数を使用して MySQL クエリを実行すると、PHP は実際の結果データではなくリソース ID を返します。このリソース ID はクエリ結果への一時的な参照であり、データをさらに操作するために使用できます。
実際の結果の取得
実際の結果文字列を取得するには、フェッチ関数を使用する必要があります。最も一般的なフェッチ関数は mysql_fetch_assoc() で、キーが列名、値がデータベース行の対応する値である連想配列を返します。
コード例
次の変更されたコードは、mysql_fetch_assoc() を使用して結果をフェッチし、「time_delta」列を目的の文字列としてエコーします。
<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_query() 関数と mysql_fetch_assoc() 関数は依然として広く使用されていますが、これらは非推奨となり、より新しい安全なメソッドに置き換えられることに注意することが重要です。新しいプロジェクトでのデータベース アクセスには、代わりに PDO_mysql または mysqli とともに PDO を使用することを検討してください。
以上がPHP で MySQL クエリをエコーすると文字列ではなく「リソース ID #6」が返されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。