MySQL 関数とは? わかりやすく解説

Weblio 辞書 > コンピュータ > PHP関数リファレンス > MySQL 関数の意味・解説 

MySQL 関数

php.ini の設定により動作が変化します。
表 170. MySQL 設定オプション
名前デフォルト変更の可否変更履歴
mysql.allow_persistent"1"PHP_INI_SYSTEM 
mysql.max_persistent"-1"PHP_INI_SYSTEM 
mysql.max_links"-1"PHP_INI_SYSTEM 
mysql.trace_mode"0"PHP_INI_ALLPHP 4.3.0 以降で使用可能です。
mysql.default_portNULLPHP_INI_ALL 
mysql.default_socketNULLPHP_INI_ALLPHP 4.0.1 以降で使用可能です。
mysql.default_hostNULLPHP_INI_ALL 
mysql.default_userNULLPHP_INI_ALL 
mysql.default_passwordNULLPHP_INI_ALL 
mysql.connect_timeout"60"PHP_INI_ALLPHP <= 4.3.2 では PHP_INI_SYSTEM で、PHP 4.3.0 以降で使用可能です。

PHP_INI_* 定数の詳細および定義については 付録 G. php.ini ディレクティブ を参照してください。
以下に設定ディレクティブに関する 簡単な説明を示します。
mysql.allow_persistent boolean
MySQL への 持続的接続 を可能にするかどうか。
mysql.max_persistent integer
プロセス毎の持続的 MySQL 接続の最大数。
mysql.max_links integer
持続的接続を含むプロセス毎の MySQL 接続の最大数。
mysql.trace_mode boolean
トレースモード。mysql.trace_mode が有効の場合、 テーブル/インデックスのスキャン時の警告・結果セットの未開放・SQL エラー などが画面に表示されます(PHP 4.3.0 以降で使用可能です)。
mysql.default_port string
他のポートが指定されない場合、データベースサーバ接続時に使用される デフォルトの TCP ポート番号。デフォルトが指定されない場合は、 環境変数 MYSQL_TCP_PORT/etc/servicesmysql-tcpエントリ・コンパイル時の MYSQL_PORT 定数の順番でポートが取得されます。 Win32 では、MYSQL_PORT 定数のみが使用されます。
mysql.default_socket string
他にソケット名が指定されない場合、ローカルなデータベースサーバに 接続する時のデフォルトのソケット名。
mysql.default_host string
他のサーバ名が指定されない場合に、データベースサーバへの接続時に 使用されるデフォルトのサーバ名。 SQL セーフモード では適用されません。
mysql.default_user string
他のユーザ名が指定されない場合に、データベースサーバへの接続時に 使用されるデフォルトのユーザ名。 SQL セーフモード では適用されません。
mysql.default_password string
他のパスワードが指定されない場合に、データベースサーバへの接続時に 使用されるデフォルトのパスワード。 SQL セーフモード では適用されません。
mysql.connect_timeout integer
接続の有効時間(単位:秒)。Linux では、この有効時間はサーバからの 最初の応答の待ち時間としても使用されます。

リソース型

MySQL モジュールでは、2 種類のリソース型が使用されています。 最初のリソースはデータベース接続のリンク ID で、2 番目のリソースは クエリ結果を保持するリソースです。

定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。
PHP 4.3.0 以降では、mysql_connect()mysql_pconnect() で追加のクライアントフラグを 指定できるようになりました。以下の定数が定義されています。 表 171. MySQL クライアント定数
定数説明
MYSQL_CLIENT_COMPRESS圧縮プロトコルを利用します。
MYSQL_CLIENT_IGNORE_SPACE関数名の後のスペースを許可します。
MYSQL_CLIENT_INTERACTIVEinteractive_timeout で指定された秒数(wait_timeout のかわり) の無通信が続くまで接続を閉じません。
MYSQL_CLIENT_SSLSSL による暗号化を使用します。このフラグは、バージョン 4.x 以降の MySQL クライアントライブラリを利用している場合にのみ有効です。 PHP 4 や、Windows 版の PHP 5 にバンドルされているのは、バージョン 3.23.x のライブラリです。


mysql_fetch_array() 関数は、結果の配列の形式を 指定するための定数を使用します。以下の定数が定義されています。 表 172. MySQL フェッチ定数
定数説明
MYSQL_ASSOC カラムは、フィールド名を添字とする配列形式で返されます。
MYSQL_BOTH カラムは、数値の添字とフィールド名の添字のどちらでもアクセスできる 配列形式で返されます。
MYSQL_NUM カラムは、数値の添字を持つ配列形式で返されます。添字は 0 からはじまり、 結果の最初のフィールドです。


注意

注意: ほとんどの MySQL 関数は、link_identifier を 最後のパラメータとしてオプションで受け付けます。これを指定しなかった場合、 直近にオープンされた接続が使用されます。もし直近の接続が存在しない場合、 php.ini のデフォルトパラメータを使用して接続を確立しようとします。 この試行にも失敗した場合、関数は FALSE を返します。

以下は、MySQL データベースに接続し、クエリを実行し、結果レコードを 出力、接続を切断する例です。 例 1307. MySQL 拡張モジュールに関する例
<?php
// データベースに接続し、選択する
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
   or die('Could not connect: ' . mysql_error());
echo 'Connected successfully';
mysql_select_db('my_database') or die('Could not select database');

// SQL クエリを実行する
$query = 'SELECT * FROM my_table';
$result = mysql_query($query) or die('Query failed: ' . mysql_error());

// HTML に結果を出力する
echo "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
   echo "\t<tr>\n";
   foreach ($line as $col_value) {
       echo "\t\t<td>$col_value</td>\n";
   }
   echo "\t</tr>\n";
}
echo "</table>\n";

// 結果セットを開放する
mysql_free_result($result);

// 接続を閉じる
mysql_close($link);
?>


目次

mysql_affected_rows — 一番最近の操作で変更された行の数を得る
mysql_change_user — アクティブな接続でログイン中のユーザーを変更する
mysql_client_encoding — 文字セット名を返す
mysql_close — MySQL 接続を閉じる
mysql_connect — MySQL サーバへの接続をオープンする
mysql_create_db — MySQL データベースを作成する
mysql_data_seek — 内部的な結果ポインタを移動する
mysql_db_name — データベース名を得る
mysql_db_query — MySQL クエリーを送信する
mysql_drop_db — MySQLデータベースを破棄(削除)する
mysql_errno — 直近の MySQL 処理からエラーメッセージのエラー番号を返す
mysql_error — 直近に実行された MySQL 操作のエラーメッセージを返す
mysql_escape_string — mysql_query で使用するために文字列をエスケープする
mysql_fetch_array — 連想配列、添字配列、またはその両方として結果の行を取得する
mysql_fetch_assoc — 連想配列として結果の行を取得する
mysql_fetch_field — 結果からカラム情報を取得し、オブジェクトとして返す
mysql_fetch_lengths — 結果における各出力の長さを得る
mysql_fetch_object — 結果の行をオブジェクトとして取得する
mysql_fetch_row — 結果を添字配列として取得する
mysql_field_flags — 結果において指定したフィールドのフラグを取得する
mysql_field_len — 指定したフィールドの長さを返す
mysql_field_name — 結果において指定したフィールド名を取得する
mysql_field_seek — 結果ポインタを指定したフィールドオフセットにセットする
mysql_field_table — 指定したフィールドが含まれるテーブルの名前を取得する
mysql_field_type — 結果において指定したフィールドの型を取得する
mysql_free_result — 結果保持用メモリを開放する
mysql_get_client_info — MySQL クライアント情報を取得する
mysql_get_host_info — MySQL ホスト情報を取得する
mysql_get_proto_info — MySQL プロトコル情報を取得する
mysql_get_server_info — MySQL サーバ情報を取得する
mysql_info — 直近のクエリについての情報を得る
mysql_insert_id — 直近の INSERT 操作で生成された ID を得る
mysql_list_dbs — MySQL サーバ上で利用可能なデータベースのリストを得る
mysql_list_fields — MySQL テーブルのフィールドのリストを得る
mysql_list_processes — MySQL プロセスのリストを得る
mysql_list_tables — MySQL データベース上のテーブルのリストを得る
mysql_num_fields — 結果におけるフィールドの数を得る
mysql_num_rows — 結果における行の数を得る
mysql_pconnect — MySQL サーバへの持続的な接続をオープンする
mysql_ping — サーバとの接続状況を調べ、接続されていない場合は再接続する
mysql_query — MySQL クエリを送信する
mysql_real_escape_string — SQL 文中で用いる文字列の特殊文字をエスケープする
mysql_result — 結果データを得る
mysql_select_db — MySQL データベースを選択する
mysql_stat — 現在のシステムの状態を取得する
mysql_tablename — フィールドのテーブル名を得る
mysql_thread_id — カレントのスレッド ID を返す
mysql_unbuffered_query — MySQL に SQL クエリを送信するが、結果に対してのフェッチやバッファリングは行わない

MySQL 関数 (PDO_MYSQL)

導入

PDO_MYSQL は、PHP から MySQL 3.x、4.x および 5.x データベースへのアクセスを可能にするための PHP Data Objects (PDO) インターフェース を実装したドライバです。
PDO_MYSQL は、MySQL 4.1 以降に存在するプリペアドステートメントを ネイティブにサポートしているという利点があります。 古いバージョンの mysql クライアントライブラリを使用している場合は、 PDO がこの機能をエミュレートします。

警告
注意: MySQL のテーブル型 (ストレージエンジン) の中には、 トランザクションをサポートしていないものがあります。 トランザクションをサポートしていないテーブル型を使用して トランザクションを使用するコードを書くと、 MySQL はトランザクションが正常に使用できたかのように振舞います。 さらに、DDL クエリを実行する際には、 実行中のトランザクションが暗黙的にコミットされます。

定義済み定数

このドライバでは以下の定数が定義されて います。これは拡張モジュールが PHP に組み込まれているか、実行時に動的にロード されている場合のみ使用可能です。さらに、これらのドライバ固有の定数は そのドライバを使用している場合にのみ使用されます。 postgres ドライバで mysql 固有の属性を使用すると、予期せぬ結果を引き起こします。 もし複数のドライバを使用しているコードを実行している場合、 PDO::getAttribute()PDO_ATTR_DRIVER_NAME 属性を使用することで、使用中のドライバ名を調べることが可能です。
PDO::MYSQL_ATTR_USE_BUFFERED_QUERY (integer)
PDOStatement でこの属性を TRUE に設定すると、 MySQL ドライバはバッファ版の MySQL API を使用します。 移植性の高いコードを書くには、代わりに PDOStatement::fetchAll() を使用すべきです。
例 1363. mysql でクエリのバッファリングを強制する
<?php
if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') {
   $stmt = $db->prepare('select * from foo',
       array(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true));
} else {
   die("このアプリケーションは mysql でしか動作しません。代わりに \$stmt->fetchAll() を使用すべきです");
}
?>


PDO::MYSQL_ATTR_LOCAL_INFILE (integer)
LOAD LOCAL INFILE を有効にします。
PDO::MYSQL_ATTR_INIT_COMMAND (integer)
MySQL サーバへの接続時に実行するコマンドを指定します。 再接続の際には自動的に再実行されます。
PDO::MYSQL_ATTR_READ_DEFAULT_FILE (integer)
my.cnf ではなく、 指定した名前のファイルからオプションを読み込みます。
PDO::MYSQL_ATTR_READ_DEFAULT_GROUP (integer)
my.cnf あるいは 別のファイル (MYSQL_READ_DEFAULT_FILE で指定したもの) の中の、指定した名前のグループからオプションを読み込みます。
PDO::MYSQL_ATTR_MAX_BUFFER_SIZE (integer)
バッファの最大サイズ。デフォルトは 1 MiB です。
PDO::MYSQL_ATTR_DIRECT_QUERY (integer)
プリペアドステートメントではなく、直接クエリを実行します。

目次

PDO_MYSQL DSN — MySQL データベースに接続する

「MySQL 関数」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「MySQL 関数」の関連用語

MySQL 関数のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



MySQL 関数のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
PHP Documentation GroupPHP Documentation Group
Copyright © 1997 - 2024 by the PHP Documentation Group.
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2024 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2024 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2024 GRAS Group, Inc.RSS