前回立てたAzure環境のSQL DatabaseにPHPのプログラムで接続する手順を紹介します。
前回の記事はこちら
5分で立てるSQL DATABASE
前準備
今回は下記の環境で接続を行います。
・Windows PC
・前回作成したAzure SQL database
・Xampp (PHP 5.6.15)
https://www.apachefriends.org/jp/index.html
・Drivers for PHP for SQLserver (SQLSRV32.EXE)を使用
https://www.microsoft.com/en-us/download/details.aspx?id=20098
接続してDBに入力する
recipetest1.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
<?php #Azure SQL Databaseに接続する $serverName = "tcp:recipetest.database.windows.net,1433"; $connectionOptions = array("Database"=>"recipetest","UID"=>"username", "PWD"=>"password", "CharacterSet"=>"UTF-8"); $conn = sqlsrv_connect($serverName, $connectionOptions); #接続できているかチェック if( $conn ) { echo "Connection established.<br />"; var_dump($conn); }else{ echo "Connection could not be established.<br />"; die( print_r( sqlsrv_errors(), true)); } #SQL文 $tsql = "INSERT INTO recipesample ( DeviceId, Tempreature ) VALUES ( 'fromphp', '38.0' )"; $stmt = sqlsrv_query($conn, $tsql); #クエリの成否をチェック if( $stmt === false ) { echo "Error in statement execution.\n"; die( print_r( sqlsrv_errors(), true)); } while(sqlsrv_fetch( $stmt ) === true ) { echo "table name: ".sqlsrv_get_field( $stmt, 0 )."<br/>\n"; echo "<br/>\n"; } sqlsrv_free_stmt( $stmt); #接続を切る sqlsrv_close( $conn); ?> |
注意点としては、Azure SQL Databaseに接続する際にDatabase名まで指定する必要があることです。
成功するとWeb画面では下の画像の様に表示されます。
Azure SQL databaseのテーブルを見ると、入力されていることが確認できます。
3.接続してDBから出力する
recipetest2.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
<?php #Azure SQL Databaseに接続する $serverName = "tcp:recipetest.database.windows.net,1433"; $connectionOptions = array("Database"=>"recipetest","UID"=>"username", "PWD"=>"password", "CharacterSet"=>"UTF-8"); $conn = sqlsrv_connect($serverName, $connectionOptions); #接続できているかチェック if( $conn ) { echo "Connection established.<br />"; var_dump($conn); }else{ echo "Connection could not be established.<br />"; die( print_r( sqlsrv_errors(), true)); } #SQL文 $tsql = "SELECT * from recipesample"; $stmt = sqlsrv_query($conn, $tsql); #クエリの成否をチェック if( $stmt === false ) { echo "Error in statement execution.\n"; die( print_r( sqlsrv_errors(), true)); } $result = sqlsrv_query($conn, $tsql); ?> <table> <?php //実行結果を描画 while($row = sqlsrv_fetch_array($result)) { printf("<tr><td class='hdr'>".$row['Id']."</td>"); printf("<td>".$row['DeviceId']."</td></tr>"); } ?> </table> <?php sqlsrv_free_stmt( $stmt); #接続を切る sqlsrv_close( $conn); ?> |
成功すると下の画像のようにDBから出力されていることを確認できます。
いかがでしたでしょうか。
SQLdatabaseへの接続ということでC#や.NET以外の言語だと敷居が高いように思われたかも知れませんが、PHPでも簡単に接続が可能です。
次回もお楽しみに!