フォーラムは、インターネット上で最も一般的な Web サイト フォームの 1 つで、情報を共有し、交換し、議論するためのプラットフォームをユーザーに提供します。 Discuz は一般的に使用されているフォーラム プログラムであり、多くのウェブマスターはすでによく知っていると思います。 Discuz フォーラムの開発および管理中に、分析または処理のためにデータベース内のデータをクエリすることが必要になることがよくあります。この記事では、Discuz データベースの場所をクエリするためのヒントをいくつか紹介し、具体的なコード例を示します。
まず、Discuz のデータベース構造を理解する必要があります。一般に、Discuz のデータベースには、ユーザー テーブル、投稿テーブル、フォーラム テーブルなどの多くのテーブルが含まれています。これらのテーブルには、フォーラム内のさまざまな種類のデータが保存されます。 Discuz データベースの場所を見つけるには、Discuz 構成ファイルを通じてデータベース接続情報を見つけることができます。一般に、Discuz の設定ファイルは、Web サイトのルート ディレクトリの config/config_global.php ファイルにあります。
config_global.php ファイルを開くと、次のようなデータベース接続情報が表示されます。
$_config['db'][1]['dbhost'] = 'localhost'; // 数据库主机地址 $_config['db'][1]['dbuser'] = 'username'; // 数据库用户名 $_config['db'][1]['dbpw'] = 'password'; // 数据库密码 $_config['db'][1]['dbname'] = 'discuz'; // 数据库名称 $_config['db'][1]['tablepre'] = 'pre_'; // 数据库表前缀
この情報から、Discuz のデータベースの場所がローカル ホスト上にあることがわかります。データベースのユーザー名は「username」、パスワードは「password」、データベース名は「discuz」です。さらに、データベース内のテーブルの接頭辞が「pre_」であることもわかります。この情報を使用して、Discuz のデータベースに接続してクエリ操作を行うことができます。
以下は、Discuz ユーザー テーブル内のすべてのユーザー情報をクエリするサンプル コードです:
<?php $db = new mysqli('localhost', 'username', 'password', 'discuz'); if ($db->connect_error) { die('数据库连接失败:' . $db->connect_error); } $db->set_charset('utf8'); $query = "SELECT * FROM pre_ucenter_members"; $result = $db->query($query); if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { echo "用户名:" . $row['username'] . ",邮箱:" . $row['email'] . "<br>"; } } else { echo "数据库中没有用户信息。"; } $db->close(); ?>
このコードでは、まず mysqli データベース接続を作成し、ホスト アドレスとユーザー名を指定します。パスワードとデータベース名。次に、SQL クエリ ステートメント SELECT * FROM pre_ucenter_members を使用して user テーブル内のすべてのユーザー情報をクエリし、ユーザー名と電子メール情報を 1 行ずつ出力します。
ユーザー テーブルのクエリに加えて、SQL クエリ ステートメントを変更するだけで、必要に応じて他のテーブルのデータをクエリすることもできます。実際のアプリケーションでは、必要なデータを取得するために、特定の状況に応じて対応するクエリ コードを記述することができます。
一般に、Discuz 構成ファイルを見つけて関連するクエリ コードを使用すると、Discuz データベース内のデータを簡単にクエリできるため、フォーラムの管理と開発が容易になります。今回紹介したテクニックをぜひ参考にしていただき、柔軟に活用してさらに活躍していただければ幸いです。
以上がデータベースの場所のクエリに関するスキルの共有について話し合うの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。