ตอนที่ 7 : การใช้งาน SQL Azure ร่วมกับ PHP (SQL Server) (Odbc/sqlsrv/PDO) |
ตอนที่ 7 : การใช้งาน SQL Azure ร่วมกับ PHP (SQL Server) (Odbc/sqlsrv/PDO) บทความนี้จะเป็นการเริ่มต้นตัวอย่างการเขียน Web Application ด้วย PHP ทำการติดต่อกับ SQL Azure หรือ SQL Database บน Windows Azure แบบง่าย ๆ เช่นการติดต่อกับ SQL Database การอ่านข้อมูลจากตารางมาแสดงผลในหน้า Web Browser โดยการเขียน PHP ติดต่อกับ SQL Database บน Windows Azure เราสามารถใช้รูปแบบการเชื่อมได้ 3 รูปแบบคือ Odbc , PDO และ PHP SQL Server (sqlsrv)
จากตัวอย่างกาอนหน้านี้เราได้ทำการสร้าง SQL Database บน Windows Azure และทำการเชื่อมต่อพร้อมกับสร้าง Table ขึ้นมา 1 รายการเรียบร้อยแล้ว
ตอนที่ 3 : เชื่อมต่อ SQL Database ผ่าน SQL Server Management Studio (SSMS)
Service ของ SQL Database
Table ชื่อว่า customer
รายการข้อมูลบนตารางของ customer
Dashboard และรายละเอียดของ Server
SQL Database Info
Server Name : bc6hela9fr.database.windows.net
Server : bc6hela9fr
User : thaicreate-user
Password : password@123
Database Name : thaicreate-db
Connection String : ตอนที่ 6 : SQL Azure รู้จักกับ Connection String สิทธิ์การใช้งาน SQL Database
สร้าง Service ของ Web Site เพื่อทดสอบ PHP กับ SQL Database
ตัวอย่างที่ 1 การใช้ PHP เชื่อมต่อกับ SQL Database ผ่าน Odbc
รูปแบบ
$server = "bc6hela9fr.database.windows.net,1433";
$database = "thaicreate-db";
$user = "thaicreate-user@bc6hela9fr";
$password = "password@123";
$objConnect = odbc_connect("Driver={SQL Server Native Client 10.0};Server=$server;Database=$database;", $user, $password) or die(odbc_errormsg());
Sample : phpSqlDatabaseOdbc.php
<html>
<head>
<title>ThaiCreate.Com PHP & Windows Azure (SQL Azure)</title>
</head>
<body>
<?php
$server = "bc6hela9fr.database.windows.net,1433";
$database = "thaicreate-db";
$user = "thaicreate-user@bc6hela9fr";
$password = "password@123";
$objConnect = odbc_connect("Driver={SQL Server Native Client 10.0};Server=$server;Database=$database;", $user, $password) or die(odbc_errormsg());
$strSQL = "select * from customer;";
$objExec = odbc_exec($objConnect, $strSQL) or die(odbc_errormsg());
?>
<table width="600" border="1">
<tr>
<th width="91"> <div align="center">CustomerID </div></th>
<th width="98"> <div align="center">Name </div></th>
<th width="198"> <div align="center">Email </div></th>
<th width="97"> <div align="center">CountryCode </div></th>
<th width="59"> <div align="center">Budget </div></th>
<th width="71"> <div align="center">Used </div></th>
</tr>
<?php
while($objResult = odbc_fetch_array($objExec))
{
?>
<tr>
<td><div align="center"><?php echo $objResult["CustomerID"];?></div></td>
<td><?php echo $objResult["Name"];?></td>
<td><?php echo $objResult["Email"];?></td>
<td><div align="center"><?php echo $objResult["CountryCode"];?></div></td>
<td align="right"><?php echo $objResult["Budget"];?></td>
<td align="right"><?php echo $objResult["Used"];?></td>
</tr>
<?php
}
?>
</table>
<?php
odbc_close($objConnect);
?>
</body>
</html>
ผลลัพธ์ที่ได้
ตัวอย่างที่ 2 การใช้ PHP เชื่อมต่อกับ SQL Database ผ่าน PDO
รูปแบบ
$serverName = "tcp:bc6hela9fr.database.windows.net,1433";
$userName = 'thaicreate-user@bc6hela9fr';
$userPassword = 'password@123';
$dbName = "thaicreate-db";
$conn = new PDO("sqlsrv:server=$serverName ; Database = $dbName", $userName, $userPassword);
Sample : phpSqlDatabasePDO.php
<html>
<head>
<title>ThaiCreate.Com PHP & Windows Azure (SQL Azure)</title>
</head>
<body>
<?php
$serverName = "tcp:bc6hela9fr.database.windows.net,1433";
$userName = 'thaicreate-user@bc6hela9fr';
$userPassword = 'password@123';
$dbName = "thaicreate-db";
$conn = new PDO("sqlsrv:server=$serverName ; Database = $dbName", $userName, $userPassword);
$strSQL = "SELECT * FROM customer";
$stmt = $conn->prepare($strSQL);
$stmt->execute();
?>
<table width="600" border="1">
<tr>
<th width="91"> <div align="center">CustomerID </div></th>
<th width="98"> <div align="center">Name </div></th>
<th width="198"> <div align="center">Email </div></th>
<th width="97"> <div align="center">CountryCode </div></th>
<th width="59"> <div align="center">Budget </div></th>
<th width="71"> <div align="center">Used </div></th>
</tr>
<?php
$arrValues = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($arrValues as $result){
?>
<tr>
<td><div align="center"><?php echo $result["CustomerID"];?></div></td>
<td><?php echo $result["Name"];?></td>
<td><?php echo $result["Email"];?></td>
<td><div align="center"><?php echo $result["CountryCode"];?></div></td>
<td align="right"><?php echo $result["Budget"];?></td>
<td align="right"><?php echo $result["Used"];?></td>
</tr>
<?php
}
?>
</table>
<?php
$conn = null;
?>
</body>
</html>
ผลลัพธ์
ตัวอย่างที่ 3 การใช้ PHP เชื่อมต่อกับ SQL Database ผ่าน PHP SQL Server (sqlsrv)
รูปแบบ
$serverName = "tcp:bc6hela9fr.database.windows.net,1433";
$userName = 'thaicreate-user@bc6hela9fr';
$userPassword = 'password@123';
$dbName = "thaicreate-db";
$connectionInfo = array("Database"=>$dbName, "UID"=>$userName, "PWD"=>$userPassword, "MultipleActiveResultSets"=>true);
Sample : phpSqlDatabasesqlsrv.php
<html>
<head>
<title>ThaiCreate.Com PHP & Windows Azure (SQL Azure)</title>
</head>
<body>
<?php
$serverName = "tcp:bc6hela9fr.database.windows.net,1433";
$userName = 'thaicreate-user@bc6hela9fr';
$userPassword = 'password@123';
$dbName = "thaicreate-db";
$connectionInfo = array("Database"=>$dbName, "UID"=>$userName, "PWD"=>$userPassword, "MultipleActiveResultSets"=>true);
sqlsrv_configure('WarningsReturnAsErrors', 0);
$conn = sqlsrv_connect( $serverName, $connectionInfo);
$strSQL = "SELECT * FROM customer";
$stmt = sqlsrv_query($conn, $strSQL);
?>
<table width="600" border="1">
<tr>
<th width="91"> <div align="center">CustomerID </div></th>
<th width="98"> <div align="center">Name </div></th>
<th width="198"> <div align="center">Email </div></th>
<th width="97"> <div align="center">CountryCode </div></th>
<th width="59"> <div align="center">Budget </div></th>
<th width="71"> <div align="center">Used </div></th>
</tr>
<?php
while($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC))
{
?>
<tr>
<td><div align="center"><?php echo $row["CustomerID"];?></div></td>
<td><?php echo $row["Name"];?></td>
<td><?php echo $row["Email"];?></td>
<td><div align="center"><?php echo $row["CountryCode"];?></div></td>
<td align="right"><?php echo $row["Budget"];?></td>
<td align="right"><?php echo $row["Used"];?></td>
</tr>
<?php
}
?>
</table>
<?php
sqlsrv_close($conn);
?>
</body>
</html>
ผลลัพธ์
อ่านเพิ่มเติม
|