• ベストアンサー

php +MS SQL server

phpでMSSQLサーバへ接続しようとしています。 WINDOWS/system32にはntwdblib.dll を、 php.iniにはextension=php_mssql.dll のコメントを外してあります。 ですが、phpinfo()を見ても、mssqlの記述がなく、 mssql_connect('database','user','password')を記述すると、undefined function となってしまいます。 何か接続に必要な処理が足りないのでしょうか。 どなたかアドバイスお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

xamppの環境で参考にならないかもしれませんし、MSSQLは使ったことがないのですが、php_msql.dllの前の「;」を外しても、あるいは「;」ついた状態でも >php -i > C:\phpini.txt などで情報を書き出してみると mssql MSSQL Support => enabled Active Persistent Links => 0 Active Links => 0 Library version => 7.0 とかになっているので、なんか使えそう。 どちらもphpinfoにMSSQLは表示ない状態でした。 他には、PEAR_DB、PDO_ODBCを使う手もあると思います。PEARのヘルプも日本語化されています。

first-try
質問者

補足

ご回答ありがとうございます。 メーリングリストのFAQには、ODBCを使うようにとありました。 ですが、phpにはmssql関数が存在します。 現状では、mssql関数を使うと、定義されていない(undefined)とエラーになってしまいます。 現状ODBC接続をしていますが、mssql関数も使いたいのです。 他にアドバイスありましたらお願いします。

その他の回答 (1)

  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.1

extensionを使うには、各extention用.dllファイルが入っているディレクトリーをphp.iniの extension_dir にきちんと設定する必要があります。 mssqlの解説のところには、きちんと書いてないけど、mysqlのところには書いてあり、どの拡張モジュールを使うときも基本となります。 http://php.s3.to/man/ini.core.html#ini.extension-dir

参考URL:
http://php.s3.to/man/ini.core.html#ini.extension-dir
first-try
質問者

補足

ご回答ありがとうございます。 php.ini の extention_dir にはdllファイルの場所(extensions)が設定されています。 php_mssql.dll の存在も確認しました。

関連するQ&A

専門家に質問してみよう