|

PostreSQLやMySQLへ接続する方法は多く紹介されているがMSSQLへの接続方法はそれほど紹介されていない。実際に私が行った接続方法を紹介する。
php.iniの編集
| |
extension=php_mssql.dll
このDLLを有効にする為、コメントアウトを解除する。
変更後、apacheを再起動すること!
|
|
クラスの作成
| |
<?
class dbaccess
{
//データベース接続を行う関数
function mssql_con(){
setlocale ("LC_ALL", "ja");
$db =
mssql_connect
("192.168.1.1", "sa", "");
return $db;
}
}
?>
上の関数をdbaccess.phpとして保存しておきます。
クラス化する理由は再利用するためである。必要なコードはクラス化しましょう!!
|
|
アクセスしてみる。(ものすごい簡単な例です)
| |
<?
ob_start();
require_once("dbaccess.php");
$dba = new dbaccess();
$db = $dba->mssql_con();
mssql_select_db("DATABASE1",$db);
$query = "SELECT * FORM TABLE1";
$res = mssql_query($query,$db);
while($row = mssql_fetch_array($res)){
echo $row['fld1'];
}
mssql_free_result($res);
mssql_close();
?>
上コードのようにDATABASE1のTABLE1へアクセスし、fld1のフィールドを出力するものです。
注意!!
mssql_fetch_array()という関数でデータを呼び出しているが、mssql_fetch_row()という関数も存在する、しかしデータベースのメンテナンスなどからmssql_fetch_array()をしたほうが使い勝手はいい。 |
|
MSSQLの関連する関数(よく使う関数をピックアップ)
| |
mssql_connect |
MSSQLに接続する関数 |
|
| |
mssql_close |
MSSQLを接続解除する関数 |
|
| |
mssql_fetch_array |
配列としてデータを取得する関数 |
|
| |
mssql_result |
MSSQLから結果データを得る関数 |
|
| |
mssql_select_db |
データベースを選択する関数 |
|
| |
mssql_query |
クエリーを発行する関数 |
|
| |
|
|
|
上表の関数のみほとんど問題ないと思う。その他の関数は使えば便利ではあるが、特に使うところもないのでほとんど使っていない。
実験を行った環境
MS SQL Server 2000 / MS SQL Server 7 + PHP +
Apache 1.3.26
|