MySQLは、すべてのサイズのプロジェ 汗をかくことなく膨大な量のデータを処理できることは、最大のセールスポイントの1つです。 MySQLをPHPコードで接続すると、三つの方法論のいずれかを利用することができます。
phpには、バックエンドを介してMySQLデータベースに接続するための三つのタイプのメソッドがあります:
- MySQL
- MySQLi
- PDO
mysql()はSQLインジェクションなどのセキュリティ上の問題のため廃止されましたが、他の二つは積極的に使用されています。MySQLi
MySQLi
MySQLiは、PHPアプリのバックエンドをMySQLデータベースにリンクするためのコネクタ関数として使用されるAPIです。 以前のバージョンと同じように動作しますが、より安全で高速で、より良い機能と拡張機能を提供します。 MySQLiはPHP5.0.0で導入され、ドライバは5.3.0でインストールされました。 このAPIは、バージョン4.1からMySQLをサポートするように設計されています。新しいものに13。
PDO
PHP Data Objects(PDO)拡張はデータベース抽象化レイヤーです。 これは、バックエンドがMySQLデータベースと対話し、PHPコードを変更せずに変更を加えるためのインターフェイスのようなものです。 また、複数のデータベースを自由に操作できます。 PDOを使用する主な利点は、コードがシンプルで移植性が高いことです。
この記事では、異なるサーバー上のMySQLデータベースを接続する方法について説明し、PDOを使用したデータベースの接続の概要も説明します。
- Localhostサーバーを使用してMySQLを接続する
- Cloudwaysサーバーを使用してMySQLを接続する
- PDOを使用してMySQLを接続する
- リモートMySQLを使用してMySQLを接続する
- リモートMySQLを使用してMySQLを接続する
サーバー上の時間の無駄を停止
Cloudwaysはあなたのためのサーバー管理を処理するので、あなたは素晴らしいアプリを作成し、あなたのクライアントを幸せに保つ
MysqlデータベースへのPHP接続の構築を開始する前に、PHPMyAdminが何であるかを知る必要があります。 それはあなたが作成したデータベースを管理することができ、そこからコントロールパネルです。 ブラウザを開き、localhost/PHPMyAdminに移動するか、XAMPP UIで「管理」をクリックします。
最初にXAMPPをインストールしたとき、XAMPPはアクセスするためのユーザー名のみを作成しましたが、今では自分でパスワードを追加する必要があります。 このためには、ユーザーがこの写真に示すものと同じであるユーザーアカウントに移動する必要があります:
ここで、権限の編集をクリックし、管理者パスワードの変更に移動し、そこにパスワードを入力して保存します。 このパスワードは、データベースへの接続に使用されるため、覚えておいてください。
注:localhost上のデータベースにアクセスするためにパスワードを変更する必要はありません。 それは良い習慣であり、我々はパスワードを使用している理由です。
データベースを作成
PHPMyAdminのホームページに戻ります。 [新規]ボタンをクリックして、新しいデータベースを作成します。
新しいウィンドウで、必要に応じてデータベースに名前を付け、「練習」と命名しています。 私たちは学習目的のためにそれを使用しているように今、utf8_general_ciとして照合を選択し、それはこのチュートリアルシリーズでカバーされる私たちのクエリとデータのすべてを処理します。 [作成]をクリックすると、データベースが作成されます。
新しく作成されたデータベースにはテーブルがないため、空になります。 今後のシリーズでは、テーブルを作成してそこにデータを挿入する方法を学習します。 このチュートリアルでは、データベース内のPHP
htdocs
にフォルダを作成します。c:/xampp)。 内部に新しいフォルダを作成しますc:/xampp/htdocs/そして、それを”練習”という名前私たちは、このフォルダにwebファイルを配置します。 Htdocsにフォルダを作成したのはなぜですか? XAMPPはhtdocsのフォルダを使用してPHPサイトを実行および実行します。
注:WAMPを使用している場合は、練習フォルダを追加しますc:/wamp/www フォルダ。
PHPでデータベース接続ファイルを作成
新しいPHPファイルを作成し、db_connnectionという名前を付けます。phpとそれを保存します。 別のデータベース接続ファイルを作成するのはなぜですか? データを挿入したり、データベースからデータを選択したりする複数のファイルを作成した場合は、毎回データベース接続のコードを記述する必要がないためです。
<?phpfunction OpenCon() { $dbhost = "localhost"; $dbuser = "root"; $dbpass = "1234"; $db = "example"; $conn = new mysqli($dbhost, $dbuser, $dbpass,$db) or die("Connect failed: %s\n". $conn -> error); return $conn; } function CloseCon($conn) { $conn -> close(); } ?>
ここでは、db_connectionファイルで使用した変数の説明です:
- $dbhostは、サーバーが実行されているホストになります通常はlocalhostです。
- $dbuserはユーザー名、つまりrootになり、Php dbpassはPHPMyAdminにアクセスするために使用したのと同じパスワードになります。
- db dbnameは、このチュートリアルで作成したデータベースの名前になります。
PHPカスタム関数include(include’connection.あなたのコードの上にphp’)を呼び出し、その関数を呼び出して使用します。 また、プロジェクトの場所をあるPCから別のPCに移動していて、単一のファイルの値を変更する必要があり、すべての変更が他のすべてのファイルに
データベース接続を確認するための新しいPHPファイルを作成します
データベースに接続するための新しいPHPファイルを作成します。 Indexという名前を付けます。phpとこのファイルにこのコードを追加します。
<?phpinclude 'db_connection.php';$conn = OpenCon();echo "Connected Successfully";CloseCon($conn);?>
走れ!
ブラウザを開き、localhost/practice/indexに移動します。phpとあなたはこの画面が表示されるはずです:
確認メッセージ
おめでとうございます! データベースをlocalhostに正常に接続しました! この画面が表示されない場合は、db_connectionですべてを正しく行っているかどうかを確認してください。phpファイル。
Cloudways ServerでMySQLデータベースを作成する
このチュートリアルでは、PHPアプリケーションがwebサーバーにインストールされていることを前提としています。 私の設定は:
- PHP7.3
- MySQL
高度に最適化されたホスティングスタックとサーバー管理の手間がないため、Cloudways管理サーバーでPHPアプリケーションをホストすることにしました。 アカウントに署名してから、サーバーとPHPアプリケーションを設定するためにこの簡単なGIFに従うことで、Cloudwaysを無料で試すことができます。 AWS、Google Compute Engine、Vultr、Linode、Digital OceanのCloudwaysホスティングプランをチェックして、あなたにぴったりのものを見つけてください。
CloudwaysでPHPアプリケーションを正常に起動したら、アプリケーションタブでデータベースの詳細を確認し、ボタンをクリックしてデータベースマネージャーを起動
MySQLデータベースへの接続
データベースへの接続を設定するには、mysql_connect関数を使用します。 この関数は、データベース接続へのポインタ(データベースハンドルとも呼ばれます)を返します。 このハンドルは、後でコードで使用されます。 ハンドルを取得したら、データベースの資格情報を追加することを忘れないでください。
- 新しいPHPファイルを作成し、db_connnectionという名前を付けます。phpとそれを保存します。
別のデータベース接続ファイルを作成するのはなぜですか? データを挿入したり、データベースからデータを選択したりする複数のファイルを作成した場合は、毎回データベース接続のコードを記述する必要がないためです。 PHPカスタム関数include(include’connectionを使用して含める必要があります。あなたのコードの上にphp’)を呼び出し、その関数を呼び出して使用します。
この時点で、MySQLi手続き型接続クエリまたはPHP PDOベースのデータベース接続のいずれかを使用するオプションがあります:MySQLi手続きクエリ
<?php$servername = "localhost";$username = "username";$password = "password";$db = "dbname";// Create connection$conn = mysqli_connect($servername, $username, $password,$db);// Check connectionif (!$conn) { die("Connection failed: " . mysqli_connect_error());}echo "Connected successfully";?>
PDOを使用してMYSQLデータベースをPHPに接続します
<?php$servername = "localhost";$username = "username";$password = "password";$db = "dbname";try { $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password, $db); // set the PDO error mode to exception $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Connected successfully"; }catch(PDOException $e) { echo "Connection failed: " . $e->getMessage(); }?>
接続を確認します
<?phpinclude 'db_connection.php'; echo "Connected Successfully";mysqli_close($conn);?>
PDOの場合は、次のように接続を閉じます
$conn = null;
Remote MySQL
For Remote PHP MySQL connection資格情報を使用してCloudwaysプラットフォームにログインします。 トップメニューバーの”サーバー”をクリックします。 次に、リストからターゲットサーバーをクリックします。
- 次に、左側のメニューのセキュリティメニューオプションに移動し、MySQLタブをクリックします。
- “IPをホワイトリストに追加”テキストエリアにIPアドレスを追加し、”追加”ボタンをクリックします。
- 複数のIPアドレスがある場合は、この処理を繰り返します。
- 完了したら、”変更を保存”ボタンをクリックして変更を確定します
成功した後、IPホワイトリストを設定します接続中のIPアドレスを設定し、クエリを実行します。
トップMySQL管理ツール
MySQL Workbenchは、データベース設計者、開発者、およびDbaのための視覚的なツールです。 MySQL Workbenchは、情報モデリング、SQLの進歩、およびサーバーの配置、クライアントの組織、強化、および大いに多くのための包括的な組織デバイスを提供します。 MySQL Workbenchは、Windows、Linux、Mac OS Xでアクセスできます。
MySQL Workbenchは、開発者にとって非常に人気のあるMySQLデータベースマネージャです。 これは、サーバー構成、ユーザー管理、および他の多くのような便利な管理ツールを提供します。これは、MAC OS、Linux、およびWindowsオペレーティングシステムで利用可能です。
データベース管理を学びたい新進の開発者には、それを有利に使用することをお勧めします。 管理機能は、完全にデータベース管理をマスターするのに役立ちます。
長所
- SQL文を保存します
- リモートDbへのオフラインアクセスを提供します
- 一つの場所に複数の接続を格納します
- ビジュアルスキーマとクエリビルダを利用可能
短所
- phpMyAdminと比較してより複雑です。
- ユーザーはソフトウェアのクラッシュを頻繁に報告します。
Navicat For MySQL
Navicatは、グラフィカルなデータベース管理とソフトウェア開発のシリーズです。 それはあなたが同時にPHP MySQL接続とMariaDBデータベースに関連付けることを可能にする単一のアプリケーションである可能性があります。 Amazon RDS、Amazon Aurora、Oracle Cloud、Google Cloud、Microsoft Azureなどのクラウドデータベースと一貫しています。
Navicat For MySQLは、開発者がデータベース操作を完全に管理するために必要なすべての高度なツールを提供します。 クラウドデータベースとの互換性は、クラウドベースのアプリケーションを管理しながら使用することが便利になります。
:
- 直感的で使いやすいUI。
- SSHターミナルを介してMySQLデータベースへの簡単な接続を提供します。
- データベースジョブのスケジュール–バックアップ、復元、レポートの実行など。
- ODBC、Excel、Access、DBF、TXT、CSV、XML、JSONからデータをインポートおよびエクスポートします。
- ビジュアルスキーマおよびクエリビルダを使用できます。
- Windows、Linux、およびMACオペレーティングシステムと互換性があります。
- チームコラボレーション機能が利用可能
短所:
- professionalバージョンは高価です
- Linuxでの実行にはWineが必要で、IDEが遅くなります。
- 時間のかかるプロセス管理
MySQL Yog
このMySQL管理ツールには、Professional、Enterprise、Proの三つのパッケージが用意されています。 あなたはテストした後、それらのいずれかを選択することができます。
MySQL管理者は、このプラットフォームで簡単に作業することができ、効率的にデータベースタスクを処理することができます。 これは、Windowsオペレーティングシステムでのみ使用できます。
長所
- 利用可能なスムーズなクエリデザイナツール
- は、データベース管理の学習に役立つ高度な機能を提供しています。
CONS
- proバージョンはpocket
- ユーザーが時折ソフトウェアクラッシュを報告することが多い
- MySQL
- 以外のデータベースをサポートしていません。
- 複数のタブ間のドラッグアンドドロップのサポートはありません。
Cloudways MySQL Database Manager
Cloudways MySQL database managerは、開発者にとって最も便利で便利なMySQL管理ツールの一つです。 ユーザーフレンドリーなUIのために非常に使いやすく、データベースマネージャーが持つべきすべての必要なMySQL管理ツールを提供します:
長所:
- 高度な機能を備えたユーザーフレンドリーでカスタマイズ可能なUIを提供しています。
- は、スキーマテーブル、制約、およびクエリを視覚的に設計します。
- SSHターミナルを使用してMySQLデータベースに簡単に接続できます。
Cons
- 複数のタブでドラッグアンドドロップのサポートはありません。
- MariaDB、MySQL以外のデータベースのサポートが不足しています。
Q:MySQLが実行されているかどうかを確認するにはどうすればよいですか?
A:MySQLが実行されているかどうかを確認するには、スタート->コントロールパネル->管理ツール->サービスに移動し、そのリストでMySQLを探すことができます。 それが実行されているかどうかを確認してください。
Q:MySQLのlocalhostポートを見つけるにはどうすればよいですか?
: MySQL Workbenchを使用している場合は、サイドバーの情報ペインのセッションタブを参照してください。 PhpMyAdminを使用している場合は、ホームをクリックし、トップメニューの変数をクリックします。 ページのポート設定を探します。 設定値はMySQLのポート番号です。
Q:localhost MySQLのユーザー名とパスワードは何ですか?
A:チェックアウトhttp://php.net/manual/en/function.mysql-connect.php。 server servername=”localhost”;.username=”root”;$password=””;これは新しいユーザーのために働く可能性が高く、データベースに接続する前にデータベースを作成することを忘れないでください。
: MySQLデータベースに接続するための標準のPHP関数は何ですか?
A:PHPがMySQLとうまく機能する理由の一つは、データベース接続を開くmysql_connect関数です。 この関数は5つの引数を取ります。
結論
優れたデータベース構造は、任意のアプリケーションのバックボーンです。 CMSであろうとオンラインタスク追跡プラットフォームであろうと、アプリケーションプロセスにアプリとユーザーの情報とサーバーデータを追跡するためのMySQLデー
このチュートリアルでは、二つのことを学びました:
- 新しいデータベースを作成する方法
- MYSQLデータベースをPHPに接続する方法
MySQLiとPDOの両方が好みを持っています。 しかし、始める前に、MySQLはMySQLとPHPを接続するためにのみ使用されることに注意してください。 一方、PDOは12の多様なデータベースで動作し、移行の要求がはるかに少なくなります。
この記事を共有する
でのカスタマーレビュー
“Cloudways hostingは最高の顧客サービスとホスティング速度の1つを持っています」
Sanjit C
Inshal Ali
InshalはCloudwaysのコンテンツマーケティング担当者です。 コンピュータサイエンスの背景、コンテンツのスキルと創造性の全体の多くで、彼はビジネスが空に到達し、顧客の言語を話すコンテンツを超えて行く 別に仕事から、あなたは主にいくつかのオンラインゲームやサッカー場で彼が表示されます。