関数・クラス解説
mysql_connect
version:PHP 4, PHP 5 (公式)MySQL サーバーへの接続をオープンする
公式リファレンス
書式
mysql_connect ([ string $server = ini_get("mysql.default_host") [, string $username = ini_get("mysql.default_user") [, string $password = ini_get("mysql.default_password") [, bool $new_link = FALSE [, int $client_flags = 0 ]]]]] ) : resource|false
説明
MySQL サーバーへの接続をオープンあるいは再利用します。
パラメータ
- server
- MySQL サーバー。"hostname:port" のようにポート番号を 指定することが可能で、localhost では ":/path/to/socket" のようにソケットへのパスを指定することも可能です。 PHP ディレクティブ mysql.default_host が指定されない場合(デフォルト)、 'localhost:3306' が使用されます。 SQL セーフモード の場合はこのパラメータは無視され、常に 'localhost:3306' が用いられます。
- username
- ユーザー名。デフォルト値は mysql.default_user で定義されている値です。SQL セーフモード の場合はこのパラメータは無視され、 サーバープロセスの所有ユーザー名が用いられます。
- password
- パスワード。デフォルト値は mysql.default_password で定義されている値です。SQL セーフモード の場合はこのパラメータは無視され、 空のパスワードが用いられます。
- new_link
- 同じ引数で 2 回 mysql_connect() をコールした場合、 2 回目は新規のリンクが確立されるのではなく、代わりにすでにオープンされた リンクのリンク ID が返されます。 パラメータ new_link はこの動作を変更し、既に mysql_connect() が同じパラメータでコールされて いる場合でも常に新規のリンクがオープンされるようにします。 SQL セーフモード の場合はこのパラメータは無視されます。
- client_flags
- パラメータ client_flags は、 以下の定数の組み合わせです: 128 (LOAD DATA LOCAL の処理を有効にする)、 MYSQL_CLIENT_SSL、 MYSQL_CLIENT_COMPRESS、 MYSQL_CLIENT_IGNORE_SPACE または MYSQL_CLIENT_INTERACTIVE。 詳細な情報については MySQL クライアント定数 を参照ください。 SQL セーフモード の場合はこのパラメータは無視されます。
返値
成功した場合に MySQL リンク ID を、失敗した場合に FALSE を返します。
注意
注意: サーバー名に "localhost" や "localhost:port" を指定した場合、MySQL クライアントライブラリはそれをオーバーライドし、 ローカルソケット(Windows では名前つきパイプ)に接続しようとします。 TCP/IP を用いたい場合は、"localhost" のかわりに "127.0.0.1" を用いてください。もし MySQL クライアントライブラリが 間違ったローカルソケットへ接続しようとしている場合、これを修正するには PHP 設定の に正しいパスを 指定したうえでサーバー名を空白にしておくべきです。
注意: サーバーへのリンクは、mysql_close() のコールにより 明示的に閉じられない限り、スクリプトの実行終了と同時に閉じられます。
注意: エラー "Can't create TCP/IP socket (10106)" が発生するのは、たいていは variables_order 設定ディレクティブに E が含まれていない場合です。 Windows では、これが含まれていなければ SYSTEMROOT 環境変数が使用できず、PHP が Winsock の読み込みに失敗します。警告 この拡張モジュールは PHP 5.5.0 で非推奨になり、PHP 7.0.0 で削除されました。MySQLi あるいはPDO_MySQL を使うべきです。詳細な情報はMySQL: API の選択 やそれに関連する FAQ を参照ください。この関数の代替として、これらが使えます。
- mysqli_connect()
- PDO::__construct()
更新履歴
バージョン | 説明 |
---|---|
5.5.0 | この関数は E_DEPRECATED エラーを発するようになりました。 |
サンプル
例1 mysql_connect() の例
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('接続できませんでした: ' . mysql_error());
}
echo '接続に成功しました';
mysql_close($link);
例2 mysql_connect() で hostname:port 構文を使用する例
// example.com のポート 3307 に接続します
$link = mysql_connect('example.com:3307', 'mysql_user', 'mysql_password');
if (!$link) {
die('接続できませんでした: ' . mysql_error());
}
echo '接続に成功しました';
mysql_close($link);
// localhost のポート 3307 に接続します
$link = mysql_connect('127.0.0.1:3307', 'mysql_user', 'mysql_password');
if (!$link) {
die('接続できませんでした: ' . mysql_error());
}
echo '接続に成功しました';
mysql_close($link);
例3 mysql_connect() で ":/path/to/socket" 構文を使用する例
// localhost のソケット(例: /tmp/mysql.sock)に接続します
// 方法 1: localhost を省略する
$link = mysql_connect(':/tmp/mysql', 'mysql_user', 'mysql_password');
if (!$link) {
die('接続できませんでした: ' . mysql_error());
}
echo '接続に成功しました';
mysql_close($link);
// 方法 2: localhost を指定する
$link = mysql_connect('localhost:/tmp/mysql.sock', 'mysql_user', 'mysql_password');
if (!$link) {
die('接続できませんでした: ' . mysql_error());
}
echo '接続に成功しました';
mysql_close($link);
参考
ワード検索
※入力キーワードが、関数名・説明文・タグに含まれるものを検索関数名アルファベット別
最終更新一覧
●stristr
大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却
●stripslashes
バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く
●stripos
大文字小文字を区別せずに文字列が最初に現れる位置を取得する
●stripcslashes
addcslashes() でクォートされた文字列をアンクォートする
●strip_tags
文字列から HTML と PHP のタグを除去して返却
●strcspn
指定した文字が最初に現れる位置を調べる
●strcoll
ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する
●strcmp
2つの文字列を比較し同じか(あるいは大小)を判定する
●strchr
strstr() のエイリアス
●strcasecmp
2つの文字列を比較(大文字小文字を区別せず同じとみなす)
カテゴリー一覧
PHP の振る舞いの変更
音声フォーマットの操作
認証サービス
コマンドライン関連
圧縮およびアーカイブ
暗号
データベース関連
日付および時刻関連
ファイルシステム
自然言語および文字エンコーディング
画像処理および作成
メール関連
数学
テキスト以外の MIME 型
プロセス制御
その他の基本モジュール
その他のサービス
検索エンジン用の拡張モジュール
サーバー固有のモジュール
セッション関連
テキスト処理
変数・データ型関連
ウェブサービス
Windows 用のモジュール
XML 操作
GUI用の拡張モジュール