MySQLデータベース接続に使うPHP関数は?mysql_connect()の構文とパラメータを徹底解説
PHPでMySQLデータベースへの接続を確立するには、mysql_connect()関数を使用します。この関数は最大5つの引数を受け取り、接続に成功するとMySQLリンクIDを返し、失敗した場合はFALSEを返します。リンクIDは、その後のデータベース操作(クエリ実行や接続切断など)で使用される重要な識別子です。
mysql_connect()の基本構文
connection mysql_connect(server, user, passwd, new_link, client_flag);
それでは、各パラメータの詳細を見ていきましょう。
パラメータの詳細
| No. | パラメータと説明 |
| 1 | server(サーバー) 省略可能 - データベースサーバーが稼働しているホスト名を指定します。省略した場合のデフォルト値は「localhost:3306」です。 |
| 2 | user(ユーザー名) 省略可能 - データベースにアクセスするユーザー名を指定します。省略した場合、デフォルトでサーバープロセスの所有ユーザーの名前が使用されます。 |
| 3 | passwd(パスワード) 省略可能 - データベースにアクセスするユーザーのパスワードを指定します。省略した場合、デフォルトで空のパスワードが設定されます。 |
| 4 | new_link(新規リンク) 省略可能 - 同じ引数でmysql_connect()を2回呼び出した場合、通常は新しい接続は確立されず、すでに開かれている接続の識別子が返されます。しかし、この引数に「true」を指定すると、同一の引数でも毎回新しい接続が確立されます。 |
| 5 | client_flags(クライアントフラグ) 省略可能 - 以下の定数を組み合わせて指定できます。
|
注意:mysql_connect()は非推奨
mysql_connect()関数はPHP 5.5.0で非推奨となり、PHP 7.0.0で完全に削除されました。そのため、最新のPHP環境では使用できません。現在の開発では、以下のいずれかの方法でMySQLに接続することが推奨されています。
- mysqli_connect() - 改良版MySQL拡張モジュール(mysqli)による手続き型・オブジェクト指向両方に対応した接続方法
- PDO(PHP Data Objects) - 複数のデータベースに対応した柔軟なデータベース抽象化レイヤー
新規プロジェクトでは、セキュリティ面やパフォーマンスの観点からも、mysqli拡張モジュールまたはPDOの利用を検討してください。
-
MySQLクエリで影響を受けた行数を取得するために使用されるPHP関数はどれですか?
PHPでは、mysql_affected_rows() 関数を使用して、クエリによって変更された行数を調べることができます。この関数は、直前に実行された SELECT、INSERT、UPDATE、REPLACE、または DELETE クエリによって影響を受けた行数を返します。 戻り値の意味は以下のとおりです。 0より大きい整数:影響を受けた行数を示します 0:影響を受けたレコードが存在しないことを示します -1:クエリがエラーを返したことを示します 構文 mysql_affected_rows( connection ); パラメータ この関数で使用されるパラメータは以下のとおりです。
-
PHPとMySQLでENUM型の取り得る値を取得する方法
MySQLデータベースに定義されたENUM型の列が取り得る値(選択肢)を確認したい場合、INFORMATION_SCHEMA.COLUMNSテーブルを参照することで簡単に取得できます。このテーブルにはデータベース内のすべてのテーブルや列のメタ情報が格納されており、COLUMN_TYPEカラムからENUMの定義そのものを文字列として取り出すことが可能です。 基本構文 ENUM型の候補値を取得するための基本的なSQL構文は以下の通りです。 SELECT COLUMN_TYPE AS 任意の別名 FROM INFORMATION_SCHEMA.COLUMNS WHERE T