TOP  »  PHP  »  MySQL関数(サーバー接続・終了/DB選択)

データベース
MySQL関数(サーバー接続・終了/DB選択)

mysql_connect
MySQL接続を開く

データなし

resource mysql_connect ( [ string サーバー [, string $ユーザー名 [, string $パスワード [, bool $new_link[, int $client_flags]]]]] )

MySQLサーバーへ接続を開きます。あるいは再利用します。
成功した場合にMySQLの接続ID、失敗した場合にFALSEを返します。

失敗した場合にエラーメッセージが表示されないようにするには、@mysql_connect();のように、関数名の頭にエラー演算子(@を付けます。

▼ オプション引数を省略した場合は、以下のデフォルト値が使用されます。

オプション引数デフォルト値
サーバー'localhost:host:3306'
ユーザー名サーバプロセスの所有ユーザー名
パスワード空のパスワード('')

オプションの第1引数サーバーには、MySQLサーバーを指定します。 "hostname:port" のようにポート番号も指定可能です。 localhostの場合、ソケットへのパス ";/path/to/socket" も指定可能です。

同じ引数で2回この関数がコールされた場合、2回目は新しい接続が確立されるのではなく、既にオープンされた接続IDが返ります。 オプションの第4引数new_link(PHP4.2.0~)にTRUEを指定すれば、新しい接続が確立されます。

オプションの第5引数client_flags(PHP4.3.0~)には以下の定数の組合せを指定します。

MYSQL_CLIENT_SSLSSL による暗号化を使用
MySQL_CLIENT_COMPREESS圧縮プロトコルを使用する
MYSQL_CLIENT_IGNORE_SPACE関数名の後ろのスペースを許可する
MYSQL_CLIENT_INTERACTIVEinteractive_timeoutで指定された秒数の無通信が続くまで接続を閉じない

MySQLサーバーへの接続は、スクリプトの実行終了時と同時に閉じられるので、mysql_close()関数で明示的に閉じる必要はありません。

<?
#サーバー名で接続する場合
/* MySQL接続開始 */
$dbc=@mysql_connect("localhost","root","");
if(!$dbc){
    die("MySQL接続失敗: ".mysql_error());
}
/* MySQL接続終了(自動的に閉じられるので省略可)*/
mysql_close($dbc);
?>

<?
#hostname:port構文の使用例(mydomain.com のポート 3306 に接続する場合)
/* MySQL接続開始 */
$dbc=mysql_connect("mydomain.com:3306","root","");
if(!$dbc){
    die("MySQL接続失敗: ".mysql_error());
}
/* MySQL接続終了(自動的に閉じられるので省略可)*/
mysql_close($dbc);
?>

<?
#localhost のポート 3306 に接続する場合
$dbc=mysql_connect("localhost:3306""root","");
if(!$dbc){
    die("MySQL接続失敗: ".mysql_error());
}
/* MySQL接続終了(自動的に閉じられるので省略可)*/
mysql_close($dbc);
?>
このページの先頭へ

mysql_pconnect
MySQLサーバーへの持続的な接続を開く

データなし

resource mysql_pconnect ( [ string サーバー名[, string $ユーザー名[, string $パスワード[, int $client_flags]]]] )

MySQLサーバーへの持続的な接続を開きます。
成功した場合に持続的な接続ID、失敗した場合にFALSEを返します。

失敗した場合にエラーメッセージが表示されないようにするには、@mysql_pconnect();のように、関数名の頭にエラー演算子(@を付けます。

mysql_connect()関数と動作は似ていますが、2つの相違点があります。

  1. この関数は接続時に同じホスト、ユーザー名、パスワードを有する持続的な接続が、既に開かれているかどうか調べます。 見つかった場合には、新しく接続を開かず、既に開かれている接続IDが返されます。

  2. スクリプトの実行が終了してもMySQLサーバーとの接続は閉じられません! 将来再利用されるために、接続が開かれたままになります。 この接続は、mysql_close()関数で閉じる事はできません。

オプションの第1引数サーバーには、MySQLサーバーを指定します。
"hostname:port"のようにポート番号も指定可能です。
localhostの場合、ソケットへのパス";/path/to/socket"も指定可能です。

オプションの第2引数ユーザー名のデフォルト値は、サーバープロセスの所有ユーザー名になります。

オプションの第3引数パスワードのデフォルト値は、空のパスワードです。
オプションの第4引数client_flagsには以下の定数の組合せを指定します。

≪定数≫
定数説明
MYSQL_CLIENT_SSLSSL による暗号化を使用
MySQL_CLIENT_COMPREESS圧縮プロトコルを使用する
MYSQL_CLIENT_IGNORE_SPACE関数名の後ろのスペースを許可する
MYSQL_CLIENT_INTERACTIVEinteractive_timeoutで指定された秒数の無通信が続くまで接続を閉じない
<?
/* MySQLサーバーへの持続的な接続 */
$dbc=mysql_pconnect("localhost","root","");
if(!$dbc){
    die('MySQL接続失敗: '.mysql_error());
}
?>
このページの先頭へ

mysql_ping
サーバーとの接続状況を調べ、接続されていない場合は再接続する

データなし

bool mysql_ping ( [ resource 接続ID ] )

MySQLサーバーとの接続が有効かどうか調べます。接続されていない場合は、自動的に再接続されます。 有効な場合にTRUE、そうでない場合にFALSEを返します。

この関数はアイドル期間が長いスクリプトで、サーバーが接続を切断したかどうか、確認するために使います。

オプションの第1引数接続IDが指定されていない場合は、mysql_connect()関数により直近に開かれた接続が使用されます。 接続が確立されていない場合は、引数を指定せずmysql_connect()関数がコールされた時と同様に接続を確立します。 それでも接続が確立できない場合は、E_WARNINGレベルのエラーが発生します。

<?
/* MySQL接続開始 */
$dbc=mysql_connect("localhost","root","") or die("MySQL接続失敗: ".mysql_error());

/* データベース選択 */
mysql_select_db("db_customer",$dbc) or die("データベース選択失敗: ".mysql_error());

/* 時間のかかるクエリと仮定 */
$sql1="SELECT * FROM tbl_customer";
$res1=mysql_query($sql1,$dbc) or die("1つ目のクエリ失敗: ".mysql_error());

/* MySQLサーバーの接続状況を調べる */
if(!mysql_ping($dbc)){
    echo "1つ目のクエリ後、接続が切断されました。";
    exit;
}
/* 結果保持用メモリ解放 */
mysql_free_result($res);

/* 接続が有効と確認されたため、別のクエリを実行 */
$sql2="SELECT * FROM table_sample2";
$res2=mysql_query($sql2) or die("2つ目のクエリ失敗: ".mysql_error());
?>
このページの先頭へ

mysql_select_db
データベース選択

データなし

bool mysql_select_db ( string $データベース名 [, resource 接続ID ] )

指定した接続IDが指すデータベースを選択します。
成功した場合にTRUE、失敗した場合にFALSEを返します。

オプションの第1引数接続IDが指定されていない場合は、mysql_connect()関数により直近に開かれた接続が使用されます。 接続が確立されていない場合は、引数を指定せずmysql_connect()関数がコールされた時と同様に接続を確立します。 それでも接続が確立できない場合は、E_WARNINGレベルのエラーが発生します。

<?
/* MySQL接続開始 */
$dbc=mysql_connect("localhost","root","") or die("MySQL接続失敗: ".mysql_error());

/* データベース選択 */
$db_selected=mysql_select_db("db_sample",$dbc);
if(!$db_selected){
    die('データベース選択失敗: '.mysql_error());
}
/* クエリ送信 */
$sql="SELECT age FROM tbl_sample";
$res=mysql_query($sql,$dbc) or die("クエリ失敗: ".mysql_error());
while($dat=mysql_num_rows($res)){
    echo $dat[0]."<br />";
}
?>
このページの先頭へ

mysql_close
MySQL接続を閉じる

データなし

bool mysql_close ( [ resource 接続ID ] )

指定した接続IDが指すmysql_connect()関数により開かれた非持続的な接続を閉じます。 成功した場合にTRUE、失敗した場合にFALSEを返します。

オプションの第1引数接続IDが指定されていない場合は、mysql_connect()関数により直近に開かれた接続が使用されます。 接続が確立されていない場合は、引数を指定せずmysql_connect()関数がコールされた時と同様に接続を確立します。 それでも接続が確立できない場合は、E_WARNINGレベルのエラーが発生します。

  • mysql_pconnect()関数で開かれた持続的な接続は、この関数では閉じられません。
  • 非持続的接続(mysql_connect()関数で開かれた接続)はスクリプト実行終了時に自動的に閉じられるので、この関数を使って明示的に閉じる必要はありません。
<?
/* MySQL接続開始 */
$dbc=mysql_connect("localhost","root","") or die("MySQL接続失敗: ".mysql_error());

/* ・・・処理・・・ */

/* MySQL接続終了(自動的に閉じられるため省略可)*/
mysql_close($dbc);
?>
このページの先頭へ
Q. このサイトの情報はお役に立ちましたでしょうか?

     

投票する | 投票結果を見る | 管理人に【web拍手】を送る web拍手(1行メッセージも送れます♪)

安くてかわいいだけじゃない、使えるレンタルサーバーなら、ロリポップ!

当サイトは、ロリポップ!を使ってます。

決め手は、下記の5ポイントでした♪
・サーバーが安定していること
・サポート体制がしっかりしていること
・PHPが使えること
・共有SSLが使えること
・安いこと

通常のhttp://~の他に、https://~で始まるセキュアなURLが発行されるので、今はやりのFacebookページもそのURLを利用することでセキュアなキャンバスページとして運営できます。

メジャーなブログエンジンの「Movable Type」や「Wordpress」も設置マニュアルがあるので、簡単にインストールできます。

可愛いドメインもいっぱい用意されているけれど、他のサーバーのお引っ越しするかもしれないし(爆)、やっぱり自分のドメインで運用したいですよね。 ムームードメインだと、「.com」は年間950円くらいです。 ロリポップの画面から取得したドメインが簡単に設定できるようになっているのでその辺のことが分からなくても安心です。

また、ほとんどの機能を使える無料お試し期間が10日間あるのでじっくり検討できます。 よしレンタルしようとなった場合は、おさいぽという独自サービスがあるので、オンライン上で全部手続きできるのうれしい限り。

マニュアルだけでなく、ライブチャットが完備されているのですぐに質問できます。 とてもサポート体制が手厚いので、初めてレンタルサーバーを使う人にもとってもおすすめです。

» ロリポプラン 詳細はこちら