ホームページ >バックエンド開発 >PHP7 >PHP 7でデータベース(MySQL、PostgreSQL)に接続する方法は?

PHP 7でデータベース(MySQL、PostgreSQL)に接続する方法は?

Johnathan Smith
Johnathan Smithオリジナル
2025-03-10 16:46:14985ブラウズ

PHP 7を使用してデータベース(MySQL、postgreSQL)に接続する方法

MySQLに接続し、PHP 7のPostgreSQLデータベースに接続するには、それぞれのデータベース拡張機能とそれに関連する機能を使用します。 どちらも、接続パラメーターを使用して接続を確立する必要があります:サーバーホスト名、ユーザー名、パスワード、およびデータベース名。 特定の関数は異なりますが、根本的な原則は同じままです。

mysql接続:

phpのmysqli拡張(改良されたmysql拡張機能)は、mysqlデータベースと相互作用する堅牢な方法を提供します。 コア関数は

です。 この関数は、サーバーホスト名(またはIPアドレス)、ユーザー名、パスワード、およびデータベース名を引数として取得します。 接続が成功したときに接続オブジェクトを返します。または故障時に

mysqli_connect()false

<code class="php"><?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database_name";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
$conn->close();
?></code>
postgreSql接続:

postgreSQLの場合、PHPは

拡張機能から

関数を利用します。 MySQLIと同様に、サーバーアドレス、ユーザー名、パスワード、およびデータベース名が必要です。 この関数は、成功に関する接続リソースを返します。そうしないと、pg_connect()pg_ falseこのコードを実行する前に、必要なPHP拡張機能(mySQLおよびpostgresqlの場合は

)をインストールすることを忘れないでください。 これは通常、システムのパッケージマネージャーを介して、または適切なオプションをPHPをコンパイルして実行できます。等価:
<code class="php"><?php
$conn_string = "host=localhost port=5432 dbname=your_database_name user=your_username password=your_password";
$conn = pg_connect($conn_string);

if (!$conn) {
  die("Error in connection: " . pg_last_error());
}
echo "Connected successfully";
pg_close($conn);
?></code>
)は、接続を確立するための主要な機能です。

(接続後に特定のデータベースを選択するため)のような他の関連関数もよく使用されます。 mysqli(永続的な接続の場合)が利用可能な他の機能もあります。 エラーメッセージがないことに依存して、接続が成功することを想定しないでください。 接続しようとした後、常にエラーを明示的に確認してください。 pg_objectのプロパティは、詳細なエラーメッセージを提供します。

関数は、最後のエラーメッセージを取得します。

<code class="php"><?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database_name";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
$conn->close();
?></code>

単純な接続エラーを超えて、特にデータベースクエリを実行する場合は、より包括的なエラー処理のためにトライキャッチブロックを使用することを検討してください。 ファイルへのロギングエラーまたはエラー通知の送信も適切なプラクティスです。

PHP 7アプリケーションからMySQLおよびPostgreSQLデータベースに接続する際のデータベース資格情報を保護するためのベストプラクティスは何ですか?これは主要なセキュリティリスクです。 代わりに、環境変数、構成ファイル、または専用の秘密管理システムを使用します。

  • 環境変数:クレデンシャルをサーバーの環境変数として保存します。 その後、PHPコードはgetenv()。 このファイルをWebrootの外に置いて、Webからアクセスできないことを確認してください。
  • または同様のメカニズムを使用して保護します。
  • シークレット管理システム:config.php大規模なアプリケーションについては、Hashicorp VaultやAWS Secrets Managerなどの専用の秘密管理ソリューションを使用することを検討してください。 これらは、機密情報を保存および管理するためのより安全な方法を提供します。可能であれば、スーパーユーザーの特権を持つユーザーの使用は避けてください。.htaccess
  • 入力検証:データベースクエリで使用する前に、ユーザー入力を常に消毒および検証して、SQL注入の脆弱性を防ぎます。 準備されたステートメントまたはパラメーター化されたクエリを使用して、SQLインジェクションからさらに保護します。 データベースソフトウェアとPHPの更新を維持することは、既知の脆弱性にパッチを当てるためにも重要です。

以上がPHP 7でデータベース(MySQL、PostgreSQL)に接続する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。