TOP書籍連動> 改良版MySQL拡張サポート
まるごと PHP!
まるごと PHP!

Part3:MySQL拡張サポート(1)

著者:桝形誠二(MASUGATA, Seiji)   2005/3/14
1   2  次のページ
改良版MySQL拡張サポート

   PHP5から使えるようになったMySQL拡張サポートを使うと、オブジェクトAPIでMySQLを制御できます。

   PHPは古くからMySQLデータベースをサポートしていましたが、PHP5では新たに、改良版MySQL拡張サポートという形で、MySQLi APIを利用できます。

   改良版MySQL拡張サポートは既定では有効になっておらず、PHP5を構築する際にコンパイルオプション--with-mysqli=/path/to/mysql_configを付与することで有効になります。改良版MySQL拡張サポートは、MySQL 4.1以降で定義される新しいAPIを利用しているので、利用するMySQLのバージョンは4.1.2以降でなければいけません。古いMySQLのバージョンを使う場合は、通常のMySQL関数を有効にすることで利用できます。この場合のコンパイルオプションは以前と同様に--with-mysql=/path/to/mysql_install_dirです。

関数APIとオブジェクトAPI

   改良版MySQL拡張サポートでは、SQLiteと同様にオブジェクトAPIを利用できます(リスト1)。

リスト1:obAPI.php
<?
$MySQLi = new mysqli( "localhost", "root", "", "testdb" );

$Result = $MySQLi->query( "select no1, no2 from hoge order by no1" );

if( $MySQLi->error != "" ){ die ( $MySQLi->error ); }

while( $Array = $Result->fetch_assoc ( ) )
{
print_r( $Array );
}

?>

   もちろん、従来の関数APIも利用できます(リスト2)。

リスト2:function.php
<?
$MySQLi = mysqli_connect( "localhost", "root", "", "testdb" );

$Result = mysqli_query( $MySQLi, "select no1, no2 from hoge order by no1" );

if( mysqli_error( $MySQLi ) != "" ){ die( mysqli_error( $MySQLi ) ); }

while( $Array = mysqli_fetch_array( $Result ) )
{
print_r( $Array );
}

?>

   通常のMySQL関数でできることは改良版MySQL拡張サポートでもほとんど網羅されています。そのため、違和感なく移行ができるでしょう。MySQL拡張サポートの説明はPHPマニュアル(http://www.php.net/mysqli/)にも掲載されているので、こちらも参照してください。

1   2  次のページ



著者プロフィール
桝形 誠二
様々な言語を経験していく中でPHPと出会い、初心者に易しいという魅力に惹かれ続けて早5年。色んな事をPHPで実装しようとしすぎて周囲の反感を買いやすいのが最近の悩み。


INDEX
Part3:MySQL拡張サポート(1)
改良版MySQL拡張サポート
  エラーのハンドリング