まだmssqlサーバーのライセンスを購入する予定なので、mssqlサーバーで使えるかどうか知りたいので、まだmysqliを使っていません。
3 に答える
mysqli は MySQL に固有です。MSSQL へのアクセスが必要な場合は、PDO を使用することをお勧めします。これは、各タイプのドライバーを使用してさまざまなデータベース タイプに一般的にアクセスできる PHP 関数セット/ステートメントです。PDO を使用して MSSQL データベースに接続するには、最初にドライバーである SQLSRV が必要です。このドライバーは、Microsoft のこちらからダウンロードできます。接続するには、次を使用します。
$handle = new PDO("sqlsrv:Server=$server;Database=$database", $username, $password);
クエリするには:
$queryRef = $handle->query($query);
結果を読み取るに$results
は、2 次元の連想配列として宣言します。1 つ目は結果番号、2 つ目は列名です。
$results = $queryRef->fetchAll(PDO::FETCH_ASSOC);
その$results[3]['id']
ため、3 番目の結果の列「id」の値になります。
PDO の PHP ドキュメント ページ (こちら) で、さらに多くの例を見つけることができます。PDO の優れた点は、異なるデータベースに同じコードを使用できることです。ドライバーと、場合によってはクエリを変更するだけで済みます。
PHP には MSSQL の実装がありますが、mysqli のような「オブジェクト指向」ではありません。
さらに、結果の数を制限する場合など、特定の状況では、MSSQL と MySQL の間で SQL 構文が若干異なります。
MySQL:
SELECT * FROM table LIMIT 100
MSSQL:
SELECT TOP 100 * FROM table
PDO は MySQL と MSSQL の両方をサポートしているため、mysqli の代わりに PDO を使用することをお勧めします。
いいえ、mysqli は MySql 用です。Mysqli のドキュメントを参照してください。