Resource id #2→PHPのmysql_connect()でデータベース接続が成功していることを表す
《例》
$mysql_con = mysql_connect("localhost","MySQLのユーザ名","MySQLのパスワード");
echo $mysql_con;
//出力結果:Resource id #2
PHPのmysql_connect()関数でMySQLデータベースへの接続に成功した場合、その結果を出力したら「Resource id #2」が返るようだった。
※試しにわざと間違ったパスワードで接続を試みると、以下のようなエラーが表示された。
Warning: mysql_connect() [function.mysql-connect]: Access denied for user: 'MySQLのユーザ名@localhost' (Using password: YES) in /nobuneko.com/nekodaisuki/test.php on line 4
※存在しないサーバ名を指定すると、以下のエラーが表示された。
Warning: mysql_connect() [function.mysql-connect]: Unknown MySQL Server Host 'neko' (1) in /nobuneko.com/nekodaisuki/test.php on line 4
mysql_connect()関数での接続結果をechoで出力すると、MySQLへの接続に成功していても「true」とか「1」ではなくて、「Resource id #2」と表示される。、デバッグで仕方なく確認している時、あるいは、今のように(今、午前4時46分。普段は眠いのだけど、いつの間にか夜更かししていた。もうかなり眠くなってきた。)勉強がてらPHPとMySQLで遊んでいる時にこのメッセージに久しぶりに出くわすと「何だったっけ、これ?」と思ってちょっと不安になる。
さて、「Resource id #2」は、MySQLへの接続に成功していることを表すため、mysql_connect()の戻り値は「true」となり、以下のような条件文を書くことができる。
《例》
if($mysql_con == true){
echo "MySQLへの接続に成功。";
}
else {
echo "MySQLへの接続に失敗。";
}
ちなみに、以下のような条件文は成立しなかった。
if($mysql_con == "Resource id #2"){
echo "MySQLへの接続に成功。";
//実際には、この条件文は成り立たないので何も出力されない。うっかりしていると勘違いしてしまうので注意。
}