読者です 読者をやめる 読者になる 読者になる

Webデザインの勉強 | フェリカテクニカルアカデミーWebサイト制作科サポートブログ

データベースと連携

PHP+MySQL

データベース接続と切断

  • PHPからデータベースにアクセスしてデータを登録したり、更新したり、登録したデータを取得したりするには、最初にデータベースに接続する必要があります
  • また、データベースに接続した後は、MySQLの場合、使用するデータベースの指定の処理も必要です
  • 一通りのデータベース関連の処理が完了したら、最後にデータベースとの接続を解除します

データベース接続

  • MySQLに接続するには、mysql_connect関数を使用します
  • mysql_connect関数は、MySQL サーバーへの接続をオープンする
mysql_connect関数

// 接続に失敗した場合、戻り値はFALSEとなります
MySQLの接続ID = mysql_connect( サーバ名, ユーザ名, パスワード );

<?php
  // MySQLに接続
  $myId = mysql_connect( 'localhost', 'root', 'root' );

  // データベースの接続に失敗した場合
  if( $myId === FALSE ) {
    echo 'MySQLの接続に失敗しました・・・';
  } else {
    echo 'MySQLの接続に成功しました!<br>';
  }

データベース接続

  • データベースの選択には、mysql_select_db関数を使用します
mysql_select_db関数

結果( TRUE / FALSE ) = mysql_select_db( データベース名【, MySQLの接続ID】);

  • データベース接続のサンプルプログラムにデータベース「mydb」の選択を追加してみます
<?php
  // MySQLに接続
  $myId = mysql_connect( 'localhost', 'root', 'root' );

  // データベースの接続に失敗した場合
  if( $myId == FALSE ){
      echo 'MySQLの接続に失敗しました・・・';
  } else {
      echo 'MySQLの接続に成功しました!<br>';

  // データベースの選択に失敗した場合
  if( mysql_select_db( 'mydb', $myId ) == FALSE ) {
      echo 'データベースの選択に失敗しました!';
  } else {
      echo 'データベースの選択に成功しました!';
  }
  }

データベース切断

  • データベースとの接続を切断するには、mysql_close関数を使用します
mysql_close関数

// 戻り値はありません
mysql_close( MySQLの接続ID );

データ取得

  • データベースの接続と選択処理が完了したら、データベースのデータを操作することが可能になります
データセット取得(mysql_query関数)
  • データベースからデータを取得するには、mysql_query関数を使用します
  • mysql_query関数は、データ取得だけでなく、データの登録や更新、削除などのSQL文を実行するときに使用する関数です
<?php
  // MySQLに接続
  $myId = mysql_connect( 'localhost', 'root', 'root' );

  // MySQLの接続に失敗した場合
  if( $myId === FALSE ){
      // die関数:引数の文字列を出力して処理を終了します
      die ( 'MySQLの接続に失敗しました・・・' );
  }

  // データベースの選択に失敗した場合
  if( mysql_select_db( 'mydb', $myId ) === FALSE ){
      // exit関数:引数の文字列を出力して処理を終了します
      exit ( 'データベースの選択に失敗しました・・・' );
  }
  
  // 結果リソースが返却されます
  $res = mysql_query( 'select * from my_items' );
  // 戻り値の値を確認してみましょう
  var_dump( $res );
  echo '<br>';
  
  // SQL文が正しくないため、FALSEが返却されます
  $res = mysql_query( 'select * from product' );
  // 戻り値の値を確認してみましょう
  var_dump( $res );
  
  // MySQL切断
  mysql_close( $myId );