MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
PHPとデータベース - MySQLのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
PHPとデータベース - MySQL
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == PHPにおいて、MySQLへの接続とCRUDの手順を記載する。<br> <br><br> == MySQLの接続・切断 == ==== MySQLの接続 ==== MySQLへ接続するには、<code>mysql_connect</code>関数を使用する。<br> <br> resource mysql_connect([string server [, string username [, string password [, bool new_link [, int client_flags]]]]]) MySQLサーバへ接続または再利用する。 引数: server 接続先のMySQLサーバ。 <ホスト名またはIPアドレス>:<ポート番号>のように、ポート番号を指定することが可能であり、 ホスト名またはIPアドレスでは、:/path/to/socketのようにソケットへのパスを指定することも可能である。 <ホスト名またはIPアドレス>または<ホスト名またはIPアドレス>:<ポート番号>を指定する場合、 MySQLクライアントライブラリはそれをオーバーライドして、ローカルソケット(Windowsでは名前付きパイプ)に接続する。 username ユーザ名 password パスワード new_link 例えば、同じ引数で2度mysql_connect関数を実行する場合、 2度目は新規のリンクが確立されるのではなく、代わりに既に接続しているリンクのリンクIDを返す。 new_linkはこの動作を変更して、既にmysql_connect関数が同じ引数で実行されている場合でも、常に新規のリンクを開く。 client_flags 圧縮プロトコルやSSL暗号化(Windows版は未対応)等の引数の指定 戻り値: 成功する場合はMySQLのリンクID、失敗する場合はfalseを返す。 <br> 以下の例では、MySQLサーバへ接続している。<br> <syntaxhighlight lang="php"> $link = mysql_connect('localhost', 'user', 'pass'); // ホスト名のみ $link = mysql_connect('example.com:3307', 'user', 'pass'); // ホスト名とポート番号 $link = mysql_connect('127.0.0.1:3307', 'user', 'pass'); // IPアドレスとポート番号 $link = mysql_connect('/tmp/mysql', 'user', 'pass'); // ソケットのみ </syntaxhighlight> <br><br> ==== MySQLの切断 ==== MySQLへの接続を切断するには、<code>mysql_close</code>関数を使用する。<br> <br> bool mysql_close([resource link_identifier]) link_identifierが指すMySQLへの非持続的リンクを閉じる。 link_identifierを省略する場合、最後に開いたリンクが使用される。 持続的ではないリンクは、スクリプトの実行終了時に自動的に閉じるため、通常は、mysql_close関数は不要である。 引数: link_identifier MySQLのリンクID 戻り値: 成功する場合はtrue、失敗する場合はfalseを返す。 <br> 以下の例では、MySQLへの接続を明示的に切断している。<br> <syntaxhighlight lang="php"> $link = mysql_connect('localhost', 'user', 'pass'); // ...MySQLのCRUD処理 mysql_close($link); </syntaxhighlight> <br><br> ==== エラー処理 ==== MySQLに対する処理でエラーが発生する場合、<code>mysql_error</code>関数を使用して、エラーメッセージを取得することができる。<br> <br> string mysql_error([resource link_identifier]) 直近のMySQL関数からのエラー文字列を返す。 MySQLのバックエンドのエラーは警告が発生しないため、 代わりに、mysql_error関数を使用してエラー文字列を取得する。 引数: link_identifier MySQLのリンクID 戻り値: 直近のMySQL関数からのエラー文字列を返します。エラーが発生していない場合は、空文字列を返す。 <br> 以下の例では、mysql_connect関数でエラーが発生した場合にエラーメッセージを取得している。<br> <syntaxhighlight lang="php"> $link = mysql_connect('localhost', 'user', 'pass'); if(!$link) { print(mysql_error()); } // ...MySQLに対するCRUD処理 mysql_close($link); </syntaxhighlight> <br> MySQLの接続に失敗する場合、その後のMySQLに対する処理を実行できないため、<br> exit関数またはdie関数を使用して、プログラムを終了する。<br> exit関数およびdie関数の詳細は、[[PHPの基礎 - PHPの終了処理]]を参照すること。<br> <syntaxhighlight lang="php"> $link = mysql_connect('localhost', 'user', 'pass'); if(!$link) { die('接続失敗です。'.mysql_error()); } // ...MySQLに対するCRUD処理 mysql_close($link); </syntaxhighlight> <br> 以下の例では、MySQLの接続と切断を実行している。<br> <syntaxhighlight lang="php"> <?php $link = mysql_connect('localhost', 'testuser', 'testuser'); if(!$link) { die('接続失敗です。'.mysql_error()); } print('<p>接続に成功しました。</p>'); // ...MySQLに対するCRUD処理 $close_flag = mysql_close($link); if($close_flag) { print('<p>切断に成功しました。</p>'); } ?> </syntaxhighlight> <br><br> == データベースの選択 == MySQLへ接続後、データベースを選択するには、<code>mysql_select_db</code>関数を使用する。<br> <br> bool mysql_select_db(string database_name [, resource link_identifier]) データベース名を指定して、アクティブなデータベースに設定する。 それ以降に実行するmysql_query関数は、全てアクティブなデータベース上で実行される。 link_identifierを指定しない場合は、直近に接続したリンクを指定したとみなされる。 引数: database_name アクティブにするデータベース名 link_identifier MySQLのリンクID 戻り値: 成功した場合はtrue、失敗する場合はfalseを返す。 <br> SELECT文等のクエリを発行する場合は、アクティブなデータベースに対して実行されるため、<br> クエリを発行する前に、データベース名を指定してデータベースを選択する必要がある。<br> <br> また、存在しないデータベースを選択する場合、以下のようなエラーが表示される。<br> Access denied for user '<ユーザ名>'@'<ホスト名またはIPアドレス>' to databese '<データベース名>' <br> <syntaxhighlight lang="php"> <?php $link = mysql_connect('localhost', 'user', 'pass'); if(!$link) { die('接続失敗です。'.mysql_error()); } print('<p>接続に成功しました。</p>'); $db_selected = mysql_select_db('database_name', $link); if(!$db_selected) { die('データベース選択失敗です。'.mysql_error()); } print('<p>uriageデータベースを選択しました。</p>'); // ...MySQLに対するCRUD処理 $close_flag = mysql_close($link); if($close_flag) { print('<p>切断に成功しました。</p>'); } ?> </syntaxhighlight> <br><br> __FORCETOC__ [[カテゴリ:Web]]
PHPとデータベース - MySQL
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse