sql >> データベース >  >> RDS >> Mysql

MySQLデータベースをPHPWebサイトに接続する方法

    MySQLは、あらゆる規模のプロジェクトを強化できる非常に人気のあるデータベース管理システムです。汗をかくことなく大量のデータを処理できることは、最大のセールスポイントの1つです。 MySQLをPHPコードに接続すると、3つの方法のいずれかを利用できます。

    PHPには、バックエンドを介してMySQLデータベースに接続するための3つのタイプのメソッドがあります。

    • MySQL
    • MySQLi
    • PDO

    mysql()は、SQLインジェクションなどのセキュリティ問題のために廃止されましたが、他の2つは積極的に使用されています。

    MySQLi

    MySQLiは、PHPアプリのバックエンドをMySQLデータベースにリンクするためのコネクタ機能として使用されるAPIです。以前のバージョンと同じように機能しますが、より安全で高速であり、より優れた機能と拡張機能のセットを提供します。 MySQLiはPHP5.0.0で導入され、ドライバーは5.3.0でインストールされました。 APIは、バージョン4.1.13から新しいバージョンまでのMySQLをサポートするように設計されています。

    PDO

    PHP Data Objects(PDO)拡張機能は、データベース抽象化レイヤーです。これは、バックエンドがMySQLデータベースと対話し、PHPコードを変更せずに変更を加えるためのインターフェースのようなものです。また、複数のデータベースを自由に操作できます。 PDOを使用する主な利点は、コードがシンプルで移植性が高いことです。

    この記事では、さまざまなサーバーでMySQLデータベースを接続する方法について説明し、PDOを使用してデータベースを接続する方法の概要も説明します。

    1. ローカルホストサーバーを使用してMySQLに接続する
    2. Cloudwaysサーバーを使用してMySQLを接続する
    3. PDOを使用してMySQLを接続する
    4. リモートMySQLを使用してMySQLを接続する

    MYSQLチートシートを今すぐダウンロード

    受信トレイにダウンロードリンクを送信します。

    ありがとうございます

    あなたの電子ブックはあなたの受信箱への道を進んでいます。


    ローカルホストでMySQLデータベースを作成

    MySQLデータベースへのPHP接続の構築を開始する前に、PHPMyAdminが何であるかを知る必要があります。これは、作成したデータベースを管理できるコントロールパネルです。ブラウザを開いてlocalhost/PHPMyAdminに移動するか、XAMPPUIの[管理]をクリックします。

    XAMPPを最初にインストールしたときは、アクセスするためのユーザー名のみが作成されていたため、自分でパスワードを追加する必要があります。このためには、ユーザーがこの写真に示されているものと同じであるユーザーアカウントに移動する必要があります:

    次に、[権限の編集]をクリックします [管理者パスワードの変更]に移動し、そこにパスワードを入力して保存します。このパスワードはデータベースへの接続に使用されるため、覚えておいてください。

    注:ローカルホスト上のデータベースにアクセスするためにパスワードを変更する必要はありません。これは良い習慣であり、それが私たちがパスワードを使用した理由です。

    データベースの作成

    PHPMyAdminのホームページに戻ります。 [新規]をクリックします ボタンをクリックして、新しいデータベースを作成します。

    新しいウィンドウで、必要に応じてデータベースに名前を付けます。「練習」という名前を付けています。 」。ここで、照合をutf8_general_ciとして選択します。これは、学習目的で使用しており、このチュートリアルシリーズで取り上げるすべてのクエリとデータを処理するためです。次に、作成をクリックします データベースが作成されます。

    テーブルがないため、新しく作成されたデータベースは空になります。これについては、テーブルの作成方法とデータの挿入方法を学習する次のシリーズで取り上げます。このチュートリアルでは、PHPを使用してこのデータベースをローカルホストに接続します

    htdocsでフォルダを作成

    ここで、XAMPPをインストールしたフォルダーを見つけて、htdocsフォルダー(通常はc:/ xampp)を開きます。 c:/ xampp / htdocs /内に新しいフォルダーを作成し、「practice」という名前を付けます。このフォルダーにWebファイルを配置します。 htdocsにフォルダを作成したのはなぜですか? XAMPPは、htdocs内のフォルダーを使用して、PHPサイトを実行および実行します。

    注:WAMPを使用している場合は、練習用フォルダーをc:/ wamp/wwwフォルダーに追加します。

    PHPでデータベース接続ファイルを作成する

    新しいPHPファイルを作成し、 db_connnection.phpという名前を付けます。 そしてそれを保存します。別のデータベース接続ファイルを作成するのはなぜですか?データを挿入したり、データベースからデータを選択したりする複数のファイルを作成した場合は、データベース接続用のコードを毎回記述する必要がないためです。

    <?php
    
    function 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ファイルで使用した変数の説明は次のとおりです。

    1. $ dbhostは、サーバーが実行されているホストであり、通常はlocalhostです。
    2. $ dbuserはユーザー名、つまり rootになります $ dbpassは、PHPMyAdminへのアクセスに使用したものと同じパスワードになります。
    3. $ dbnameは、このチュートリアルで作成したデータベースの名前になります。

    PHPカスタム関数includeを使用してインクルードする必要があります コードの上部に(「connection.php」を含めて)、その関数を呼び出して使用します。また、プロジェクトの場所をあるPCから別のPCに移動するときに、1つのファイルの値を変更する必要があり、すべての変更が他のすべてのファイルに自動的に適用される場合にも役立ちます。

    データベース接続を確認するための新しいPHPファイルを作成します

    データベースに接続するための新しいPHPファイルを作成します。 index.phpという名前を付けて、このファイルにこのコードを追加します。

    <?php
    include 'db_connection.php';
    
    $conn = OpenCon();
    
    echo "Connected Successfully";
    
    CloseCon($conn);
    
    ?>

    実行してください!

    ブラウザを開いてlocalhost/Practice / index.phpに移動すると、次の画面が表示されます。

    確認メッセージ

    おめでとう!データベースとローカルホストが正常に接続されました。この画面が表示されない場合は、db_connection.phpファイルですべてが正しく行われたかどうかを確認してください。

    CloudwaysサーバーでMySQLデータベースを作成

    このチュートリアルでは、PHPアプリケーションがWebサーバーにインストールされていることを前提としています。私の設定は次のとおりです:

    • PHP 7.3
    • MySQL

    高度に最適化されたホスティングスタックを取得し、サーバー管理の手間がかからないため、PHPアプリケーションをCloudways管理対象サーバーでホストすることにしました。アカウントにサインインし、この単純なGIFに従ってサーバーとPHPアプリケーションをセットアップすることで、Cloudwaysを無料で試すことができます。 AWS、Google Compute Engine、Vultr、Linode、Digital OceanのCloudwaysホスティングプランをチェックして、最適なものを見つけてください。

    CloudwaysでPHPアプリケーションを正常に起動した後、[アプリケーション]タブに移動してデータベースの詳細を確認し、[b>データベースマネージャーを起動する]ボタンをクリックします。 。

    MySQLデータベースに接続

    データベースへの接続を設定するには、 mysql_connectを使用します 働き。この関数は、データベース接続へのポインター(データベースハンドルとも呼ばれます)を返します。このハンドルは、後でコードで使用されます。ハンドルを取得したら、データベースのクレデンシャルを追加することを忘れないでください。

    • 新しいPHPファイルを作成し、 db_connnection.phpという名前を付けます そしてそれを保存します。

    別のデータベース接続ファイルを作成するのはなぜですか?データを挿入したり、データベースからデータを選択したりする複数のファイルを作成した場合は、データベース接続用のコードを毎回記述する必要がないためです。コードの先頭にPHPカスタム関数include(「connection.php」を含む)を使用してインクルードし、その関数を呼び出して使用するだけです。

    この時点で、MySQLi手続き型接続クエリまたはPHPPDOベースのデータベース接続のいずれかを使用するオプションがあります。

    MySQLi手続き型クエリ

    <?php
    
    $servername = "localhost";
    
    $username = "username";
    
    $password = "password";
    
    $db = "dbname";
    
    
    
    // Create connection
    
    $conn = mysqli_connect($servername, $username, $password,$db);
    
    
    
    // Check connection
    
    if (!$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();
    
       }
    
    ?>

    接続を確認

    <?php
    
    include 'db_connection.php';
    
     
    
    echo "Connected Successfully";
    
    mysqli_close($conn);
    
    ?>
    
    

    PDOの場合は接続を閉じます このように

    $conn = null;

    リモートMySQL

    リモートPHPMySQL接続の場合資格情報を使用してCloudwaysプラットフォームにログインします。 「サーバー」をクリックします 上部のメニューバーにあります。次に、リストからターゲットサーバーをクリックします。

    • 次に、左側のメニューの[セキュリティ]メニューオプションに移動し、[MySQL]タブをクリックします。
    • IPアドレスを[ホワイトリストにIPを追加]テキスト領域に追加し、[追加]ボタンをクリックします。
    • 複数のIPアドレスがある場合は、プロセスを繰り返します。
    • 完了したら、[変更を保存]ボタンをクリックして変更を確定します

    正常に完了したら、IPホワイトリストを設定し、接続するIPアドレスを設定して、クエリを実行します。

    上位のMySQL管理ツール

    MySQL Workbench

    MySQL Workbenchは、データベース設計者、開発者、およびDBA向けのビジュアルツールです。 MySQL Workbenchは、情報モデリング、SQLの進歩、およびサーバーの配置、クライアントの編成、強化などのための包括的な編成デバイスを提供します。 MySQL Workbenchは、Windows、Linux、およびMacOSXでアクセスできます。

    MySQL Workbenchは、開発者に非常に人気のあるMySQLデータベースマネージャーです。サーバー構成、ユーザー管理などの便利な管理ツールを提供します。MACOS、Linux、およびWindowsオペレーティングシステムで使用できます。

    データベース管理を学びたいと思っているすべての新進の開発者に、それを有利に使用することをお勧めします。管理機能は、データベース管理を完全に習得するのに役立ちます。

    長所

    1. SQLステートメントを保存します
    2. リモートDBへのオフラインアクセスを提供します
    3. 複数の接続を1つの場所に保存します
    4. ビジュアルスキーマとクエリビルダーが利用可能

    短所

    1. PHPMyAdminと比較してより複雑です。
    2. ユーザーはソフトウェアのクラッシュを報告することがよくあります。

    Navicatは、一連のグラフィカルデータベース管理とソフトウェア開発です。これは、PHPMySQL接続とMariaDBデータベースに同時に関連付けることができる単一のアプリケーションである可能性があります。 Amazon RDS、Amazon Aurora、Oracle Cloud、Google Cloud、MicrosoftAzureなどのクラウドデータベースと整合性があります。

    Navicat for MySQLは、開発者がデータベース操作を完全に管理するために必要なすべての高度なツールを提供します。クラウドデータベースとの互換性により、クラウドベースのアプリケーションを管理する際に便利に使用できます。その主な機能のいくつかは次のとおりです。

    長所:

    1. 直感的で使いやすいUI。
    2. SSHターミナルを介してMySQLデータベースに簡単に接続できます。
    3. データベースジョブのスケジュール–バックアップ、復元、レポートの実行など。
    4. ODBC、Excel、Access、DBF、TXT、CSV、XML、JSONからデータをインポートおよびエクスポートします。
    5. ビジュアルスキーマおよびクエリビルダーを利用できます。
    6. Windows、Linux、およびMACオペレーティングシステムと互換性があります。
    7. チームコラボレーション機能を利用できます

    短所:

    1. プロフェッショナルバージョンは高価です
    2. Linuxで実行するにはWineが必要であり、IDEの速度が低下します。
    3. 時間のかかるプロセス管理

    MySQL Yog

    このMySQL管理ツールには、Professional、Enterprise、Proの3つのパッケージがあります。テストした後、それらのいずれかを選択できます。

    MySQL管理者は、このプラットフォームを簡単に操作でき、データベースタスクを効率的に処理できます。 Windowsオペレーティングシステムでのみ使用できます。

    長所

    1. スムーズなクエリデザイナーツールが利用可能
    2. データベース管理の学習に役立つ高度な機能を提供します。

    短所

    1. プロバージョンはポケットに重い
    2. ユーザーからソフトウェアがクラッシュすることがよくあります
    3. MySQL以外のデータベースはサポートしていません
    4. LinuxおよびMACオペレーティングシステムのネイティブサポートはありません。
    5. 複数のタブ間のドラッグアンドドロップはサポートされていません。

    CloudwaysMySQLデータベースマネージャー

    Cloudways MySQLデータベースマネージャーは、開発者にとって最も便利で便利なMySQL管理ツールの1つです。ユーザーフレンドリーなUIにより非常に使いやすく、データベース管理者が必要とするすべてのMySQL管理ツールを提供します。

    長所:

    1. 高度な機能を備えたユーザーフレンドリーでカスタマイズ可能なUIを提供します。
    2. スキーマテーブル、制約、クエリを視覚的に設計します。
    3. SSHターミナルを使用したMySQLデータベースへの簡単な接続。

    短所

    1. 複数のタブで利用できるドラッグアンドドロップのサポートはありません。
    2. MariaDB、MySQL以外のデータベースのサポートの欠如。
    よくある質問

    Q:MySQLが実行されているかどうかを確認するにはどうすればよいですか?

    A:MySQLが実行されているかどうかを確認するには、サービスとしてインストールされている場合は、[スタート]->[コントロールパネル]->[管理ツール]->[サービス]に移動し、そのリストでMySQLを探します。実行されているかどうかを確認します。

    Q:MySQLのローカルホストポートを見つけるにはどうすればよいですか?

    A:MySQL Workbenchを使用している場合は、サイドバーの情報ペインの[セッション]タブを確認してください。 phpMyAdminを使用している場合は、トップメニューの[ホーム]、[変数]の順にクリックします。ページでポート設定を探します。設定値はMySQLポート番号です。

    Q:ローカルホストのMySQLのユーザー名とパスワードは何ですか?

    A:http://php.net/manual/en/function.mysql-connect.phpを確認してください。 $ servername =“ localhost”; $ username =“ root”; $ password =“”;これは新しいユーザーにとってはうまくいく可能性があり、データベースに接続する前にデータベースを作成することを忘れないでください。

    Q:MySQLデータベースに接続するための標準のPHP関数は何ですか?

    A:PHPがMySQLで非常にうまく機能する理由の1つは、データベース接続を開くmysql_connect関数です。この関数は5つの引数を取ります。

    結論

    優れたデータベース構造は、あらゆるアプリケーションのバックボーンです。 CMSであろうとオンラインタスク追跡プラットフォームであろうと、アプリケーションプロセスへのアプリとユーザーの情報とサーバーデータを追跡するためにMySQLデータベースが必要です。

    このチュートリアルでは、2つのことを学びました。

    • 新しいデータベースを作成する方法
    • MySQLデータベースをPHPに接続する方法

    MySQLiとPDOの両方に設定があります。ただし、開始する前に、MySQLはMySQLとPHPの接続にのみ使用されることに注意してください。別のデータベースに移行する必要がある場合は、コード全体を変更する必要があります。一方、PDOは12の多様なデータベースと連携するため、移行の負担が大幅に軽減されます。


    1. Node.jsでSequelizeを使用して結合クエリを作成する方法

    2. 指定されたテーブルの動的な列のセットを返す関数

    3. ポート5432がブロックされている場合のリモートサーバーからのpg_dumppostgresデータベース

    4. Oracle-ORA-06502:PL / SQL:数値または値のエラー(DBMS_OUTPUT)