เขียนโปรแกรม PHP เชื่อมต่อเข้า MS SQL Server ด้วย php-mssql

นอกจาก  เชื่อมต่อเข้า MS SQL Server จากลีนุกซ์ด้วย freetds ได้แล้ว เราสามารถเขียนโปรแกรม PHP รันบนลีนุกซ์หรือยูนิกส์เพื่อดึงข้อมลูจาก MS SQL Server โดยใช้โมดูล php-mssql ได้


เช่นเดียวกันกับ freetds เราต้องติดตั้งแพ็คเกจ php-mssql เพิ่มเติม ซึ่งมีอยู่ใน EPEL repo

ตัวอย่างในที่นี้ ทดลองบน CentOS 6 ที่มี php ติดตั้งอยู่บ้างแล้ว

[root@cent6 ~]# rpm -qa | grep php
php-mysql-5.3.3-22.el6.x86_64
php-common-5.3.3-22.el6.x86_64
php-pdo-5.3.3-22.el6.x86_64
php-5.3.3-22.el6.x86_64
php-cli-5.3.3-22.el6.x86_64

 

ใช้คำสั่ง yum ติดตั้ง php-mssql

[root@cent6 ~]# yum install php-mssql
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * base: mirror.neu.edu.cn
 * epel: ftp.jaist.ac.jp
 * extras: mirror.neu.edu.cn
 * updates: ftp.cuhk.edu.hk
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php-mssql.x86_64 0:5.3.3-1.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package            Arch            Version                 Repository     Size
================================================================================
Installing:
 php-mssql          x86_64          5.3.3-1.el6             epel           27 k

Transaction Summary
================================================================================
Install       1 Package(s)

Total download size: 27 k
Installed size: 69 k
Is this ok [y/N]: y
Downloading Packages:
php-mssql-5.3.3-1.el6.x86_64.rpm                         |  27 kB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : php-mssql-5.3.3-1.el6.x86_64                                 1/1
  Verifying  : php-mssql-5.3.3-1.el6.x86_64                                 1/1

Installed:
  php-mssql.x86_64 0:5.3.3-1.el6

Complete!
[root@cent6 ~]#

 

ลองใช้คำสั่ง php -m เพื่อดูชื่อโมดูล mssql ที่ได้จากการติดตั้ง

[root@cent6 ~]# php -m  | grep mssql
mssql

ต้องรีสตาร์ตเว็บเซิร์ฟเวอร์ใหม่ด้วย เพื่อให้โมดูลที่ติดตั้งใหม่มีผล

[root@cent6 ~]# service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]
[root@cent6-dev ~]#

ตัวอย่างการเขียนโปรแกรม php เพื่อใช้โมดูลหรือฟังก์ชั่น mssql เชื่อมต่อเข้ากับ SQL Server

[user1@cent6 ~]$ cat test-mssql.php
<?php
mssql_connect('192.168.1.10', 'sa', 'password');
//mssql_select_db('master');

$version = mssql_query('SELECT @@VERSION');
$row = mssql_fetch_array($version);
print_r($row);
?>

หากเคยเขียน php เชื่อมต่อเข้า mysql (แบบเก่า) มาก่อน จะเห็นว่ารูปแบบการใช้และชื่อฟังก์ชั่นของ mssql จะคล้ายกับฟังก์ชั่นของ mysql เลย

ทดลองรันโปรแกรม

[user1@cent6 ~]$ php test-mssql.php

Array
(
    [0] => Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64)
        Apr  2 2010 15:48:46
        Copyright (c) Microsoft Corporation
        Enterprise Evaluation Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

    [computed] => Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64)
        Apr  2 2010 15:48:46
        Copyright (c) Microsoft Corporation
        Enterprise Evaluation Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
)

ลองนำไปใช้กันดูครับ

ข้อมูลอ้างอิง

Leave a Reply

Your email address will not be published.