Microsoft MSSQL (SQL サーバー) と php の接続ガイド
ezSQL を勉強していたときに、MSSQL に接続するために PHP が提供する mssql_connect() やその他の関数を見て、世界中でオープンソースで人気のあるプログラミング言語である PHP は Microsoft データに簡単に接続できるはずだと思いました。実際の実装に関しては、ezSQL を勉強していたときに、MSSQL に接続するために PHP が提供する mssql_connect() やその他の関数を見て、オープンソースで世界中で人気のあるプログラミング言語である PHP には簡単に接続できるはずだと思いました。 Microsoft のデータはそうですが、実際に実装してみると、多くの困難が見つかりました。
最初にダウンロードしたphpのバージョンは5.93でした。ダウンロードして環境変数などを追加し続けた後、ようやくphpinfo()関数がブラウザで正常に実行されました。その後、世界中で php_mssql.dll を検索したところ、mssql は PHP バージョン 5.3 以降ではネイティブにサポートされていないことがわかりました。
ついに Microsoft Drivers 3.0 for PHP for SQL Server を見つけました。Microsoft のものならできるはずだと思いましたが、SQLSRV30.EXE は実行できないことがわかりました。「SQLSRV30.EXE は有効な win32 プログラムではありません。」
長い間インターネットを検索した結果、次の実行可能な方法をまとめましたが、その前に次のことを行う必要があります:
MICROSOFT SQL SERVER を構成する1. SQL サーバーをダウンロードしてインストールします。現在、2000 年から 2008 年までのさまざまなバージョンが存在します。自分で見つけてダウンロードしてください。
2. tcp/ip 接続モードを開き、データベースへのリモート アクセスを有効にします。 SQL Server 構成マネージャー -> ネットワーク構成 -> TCP/IP を有効にする
3. データ管理インターフェイスを開き、ユーザーとデータベースを追加します。
4. PHPをインストールし、IISサービスを設定します。
5. php が存在するフォルダー内の php.ini ファイルを開き、以下を追加します:
mssql.textlimit = 20971520 mssql.textsize = 20971520
これを行った後、次の 3 つの方法に従ってデータベースに接続できます。 MSSQL に接続するための php メソッドに付属しています (5.3 以降のバージョンには適用されません)
php ext 拡張ライブラリ フォルダーに php_mssql.dll があることを確認し、PHP.ini の設定に
; を追加します。 extension=php_mssql.dllの前の「;」を削除します。 その後、接続をテストできます:
//连接MSSQL $conn=mssql_connect("实例名或者服务器IP","用户名","密码"); //测试连接 if($conn) { echo "连接成功"; }
2008 年 7 月、Microsoft は SQL Server に接続するための新しいドライバーをリリースしました。 MSSQL 関数への接続のいくつかの欠点が解決されており、php 拡張プラグインの形式で開発されているため、php を使用して Microsoft データベースを簡単に読み書きできます。 サーバーが IIS を使用している場合は、ここからダウンロードする必要があります:
http://php.iis.net/
なぜなら、上記のリンクは実際には Microsoft によって統合されたネットワーク開発プラットフォームであり、インストールされているだけですオンラインではありますが、PDO プラグインと PHP、そしてもちろん Microsoft の他の開発機能を統合すると非常に便利ですが、必要ない場合はインストールする必要はありません。これらは Visual Studio にあります。
ただし、Apache を使用している場合は、ここにアクセスしてこのプラグインを直接ダウンロードできます。これは実際には解凍されたファイルであり、いくつかの DLL ファイルが解凍されます。
1) ドライバー パッケージをダウンロードします。 : http://www.microsoft.com/en-us/download/details.aspx?id=20098.
2) SQLSRV30.EXE が有効ではないというメッセージが表示された場合は、DLL ファイルを PHP extension_dir ディレクトリに抽出します。 win32 プログラムでは、何かが不足している可能性があります。一部のライブラリは vc10 であるか、管理者権限で実行されていない可能性があります。
extension_dir = “C:PHPext”3) php.ini設定ファイル内の対応するダイナミックリンクライブラリファイルを参照します
extension=php_sqlsrv_52_ts_vc6.dll
拡張子=php_pdo . dll
52 と 53 は php の 5.2.x バージョンと 5.3.x バージョンを表します。
vc6 または vc9 の選択は、主に使用している Web サーバー ソフトウェアによって異なります。 IIS の場合は vc9 を選択します。Apache の場合は vc6 を選択します。
ts と nts に関しては、インストールした PHP バージョンがスレッドセーフであるか非スレッドセーフであるかによって異なります。ts はスレッドセーフであり、nts は非スレッドセーフです。
4) Apache を再起動します
5) データベースに接続します
<?php //本地测试的服务名 "(local)"; //使用sql server身份验证,参数使用数组的形式,一次是用户名,密码,数据库名 //如果你使用的是windows身份验证,那么可以去掉用户名和密码 $connectionInfo = array( "UID"=>"root", "PWD"=>"root2010", "Database"=>"master"); $conn = sqlsrv_connect( $serverName, $connectionInfo); if( $conn ) { echo "Connection established.\n"; } else { echo "Connection could not be established.\n"; die( print_r( sqlsrv_errors(), true)); } ?>
FreeTDS とは実際にはオープン ソース (またはオープン ソースであるとも言えます)無料) C ライブラリ。Linux システム上で Microsoft の SQL データベースにアクセスして操作できます。これは、ODBC ライブラリも含まれる Sybase の db-lib または ct-lib ライブラリで使用できます。多くのアプリケーションが Sybase または Microsoft SQL サーバーに接続できるようにします。 FreeTDS はソース コードとしてリリースされているため、ほぼすべてのシステムにコンパイルしてインストールできます。 サーバーが Windows システムの場合は、php_dblib.dll を使用する必要があります。 (Unix での FreeTDS の使用に関する詳細。)
通常我们可以在这个网站上找到这些DLL文件- Frank Kromann's site, 但是它基本上很多都已经过时了,并且会引发很多的问题,因此我们推荐windows下使用PHP 5.2.x版本,并且看看下面的建议 :
1. 按照下面的表格来下载 php_dblib.dll 并且将其保存到 /PHP/ext 文件夹下面.
PHP version | Thread Safe | FreeTDS version | Download URL |
---|---|---|---|
PHP 5.2.x (vc6) | Yes | 0.82 + 20090302 patches | Download! |
No | 0.82 + 20090302 patches | Download! | |
PHP 5.3.x (vc9) | Yes | 0.82 + 20090904 patches | Download! |
No | 0.82 + 20090904 patches | Download! | |
PHP 5.4.x (vc9) | Yes | 0.82 + 20110906 patches | Download! FTP Download! |
No | 0.82 + 20110906 patches | Download! FTP Download! |
2、 FreeTDS 需要安装 .NET Framework v1.1 ,你可以到微软的网站去下载。或者你去Frank's site 下载需要的DLL文件,并保存到你的/PHP根目录下面。
3、在php配置文件 /PHP/php.ini 中添加:
extension=php_dblib.dll
4、当php引擎启动FreeTDS模块的时候需要传递一些信息,使得FreeTDS能够连接到它的默认的数据库。因此它的需要在freetds.conf中定义数据库连接的基本信息,该文件在其根目录下,可以按照你的情况来进行修改:
[global]
host = xxx.xxx.xxx.xxx (host name or ip of the MSSQL server)
port = 1433
client charset = UTF-8
tds version = 8.0
text size = 20971520
5、创建config.php文档来定义数据库连接参数:
$CFG->dbtype = 'mssql'; // Required $CFG->dbhost = 'localhost'; // assuming MS SQL is on the same server, otherwise use an IP $CFG->dbname = 'moodle'; // or whatever you called the database you created $CFG->dbuser = 'yourusername'; // I usually use the 'sa' account (dbowner perms are enough) $CFG->dbpass = 'yourpassword'; $CFG->dbpersist = false; $CFG->prefix = 'mdl_'; //Prefix, you can change it, but NEVER leave it blank.
6、 重启你的网站,如果还是没有连接到你的数据库的话,在 /PHP/php.ini文件中将display_startup_errors改为"On",当你解决了这些问题之后再将错误报告改为“Off”;
7、测试你的网站,建立test.php文件,代码如下,访问http://localhost/test.php进行测试
<?php $link = mssql_connect('localhost', 'db_user', 'db_password'); if(!$link) { echo'Could not connect'; die('Could not connect: ' . mssql_error()); } echo'Successful connection'; mssql_close($link); ?>
以上就是本文的全部内容,希望对大家的学习有所帮助。
相关推荐:
以上がMicrosoft MSSQL (SQL サーバー) と php の接続ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。
