Tải bản đầy đủ (.doc) (3 trang)

Làm việc với MS SQL server bằng PHP

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (143.18 KB, 3 trang )

Làm việc với MS SQL Server bằng PHP
Bài này là một kinh nghiệm nho nhỏ của tôi trong quá trình thực hiện một số dự án gần đây. Nhiều bạn sẽ cho rằng tôi
"điên" nên mới sử dụng SQL Server để làm việc với PHP mà không sử dụng MySQL trong bộ LAMP. Thực ra tôi không
điên mà đôi lúc do nhu cầu của dự án hoặc do yêu cầu chuyển đổi dữ liệu từ mã nguồn này sang mã nguồn khác khiến
chúng ta phải thực hiện việc thao tác "ngược đời" này. Nhờ vậy, tôi mới có thêm chút kinh nghiệm để chia sẻ với mọi
người.
Câu chuyện của tôi bắt đầu cách đây không lâu khi tôi nhận nhiệm vụ chuyển đổi và thiết kế lại cơ sở dữ liệu từ MS SQL
Server sang MySQL. May mắn cho tôi là trước đây, thời gian ở trường tôi thường làm việc với cơ sở dữ liệu MS SQL
Server 2008 nên việc tương tác với MS SQL Server không khó. Cái khó là thời gian 5 năm qua tôi chưa code một
dòng .NET nào nên giờ quên sạch nếu không muốn nói là mù tịt. Thế là đành phải tìm cách sử dụng ngôn ngữ mình biết
nhiều nhất(PHP) để làm việc với SQL Server.
Để thao tác với MS SQL Server trên nền PHP, bạn cần phải bổ sung cho PHP của bạn thêm sức mạnh để đọc và hiểu.
May mắn cho chúng ta là anh Gate đẹp trai không đến mức ghét PHP nên đã chuẩn bị sẵn cho chúng ta bộ Extension để
PHP có thể làm việc được với hệ quản trị cơ sở dữ liệu SQL Server của anh ấy. Trọng tâm của bộ driver này là
PDO_SQLSRV giúp đóng vai trò như một API để thao tác với MS SQL Server.

Để PHP có thể thao tác được với SQL Server, bạn cần bổ sung vào thư viện Extension của PHP thêm một bộ Driver tên
Microsoft Drivers 3.0 for PHP for SQL Server. Bạn chú ý, chúng ta có 2 version 2.0 và 3.0 của bộ thư viện này. Bộ 3.0 sử
dụng cho PHP phiên bản từ 5.3.6 trở về sau. Còn nếu bạn sử dụng phiên bản dưới 5.3.6 thì chúng ta download
SQLSRV20.EXE nhé.
Sau khi download về bạn giải nén file và chép tất cả các file DLL nhận được vào thư mục


Code:
Ổ_chứa\AppServ\php5\ext\

Đây là thư mục chứa tất cả các Extension của PHP. Ở đây tôi sử dụng AppServ nên đường dẫn của tôi có kiểu như vậy,
nếu bạn sử dụng XAMP hoặc WAMP thì đường dẫn có khác tí nhưng tôi chắc rằng bạn sẽ tìm ra nơi chúng ta bổ sung
các file Extension mới down về dễ dàng.
Bước tiếp theo, chúng ta cấu hình cho file php.ini để kích hoạt các Extension mới bổ sung như sau:
Bạn mở file php.ini và tìm đến đoạn



Code:

;extension=php_bz2.dll
extension=php_curl.dll

Bổ sung vào trên nó đoạn code sau:
Code:

extension=php_pdo.dll
extension=php_sqlsrv_52_ts_vc6.dll
extension=php_pdo_sqlsrv_52_ts_vc6.dll

Đoạn mã này sẽ giúp cho PHP nhận và sử dụng được các Extension mà chúng ta mới thêm vào như tôi đã nói ở trên.
Vậy là chúng ta đãu hình xong cho PHP. Từ giờ bạn có thể kết nối với MS SQL Server thông qua PHP và bộ driver do
Microsoft cung cấp.
Dưới đây là đoạn code mà tôi đã viết để lấy dữ liệu từ MS SQL Server bằng cách sử dụng nhiều quyền truy cập Windows
Authentication, hi vọng như một ví dụ cho bạn khi tương tác.
PHP Code:
//SQL Server Connector
/* Specify the server and connection string attributes. */
$serverName = "(local)";
$connectionInfo = array( "Database"=>"database_name", "CharacterSet" => "UTF-8");
/* Connect using Windows Authentication. */
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false )
{
echo "Unable to connect.
";
die( print_r( sqlsrv_errors(), true));
}


//MySQL Connector
$dbhandle = mysql_connect($hostname, $username, $password)


or die("Unable to connect to MySQL");
$selected = mysql_select_db($mysql_databasename,$dbhandle)
or die("Could not select examples");

$tsql = "SELECT *

FROM table_name";

$stmt = sqlsrv_query( $conn, $tsql);
if( $stmt === false )
{
echo "Error in executing query.
";
die( print_r( sqlsrv_errors(), true));
}
while( $result = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
echo $result["User"];
}

Ngoài ra bạn có thể tìm thấy rất nhiều sample khác được cung cấp trong Manual đi kèm với gói download mà bạn đã
download về.
Ghi lại để nhớ và sử dụng khi cần nhé các bạn.
và hãy comment nếu bạn thấy bài viết này có ích cho bạn.
Chủ đề có liên quan:












hỏi về cách xác định người duyệt web đang ở...
Cần hướng dẫn lấy giá trị từ file PHP khác
Kỹ thuật rewrite url trong php theo phân cấp...
Làm việc với MS SQL Server bằng PHP
Nhiều danh mục dùng chung 1 danh sách sản...
Mong được các bác chỉ giúp em chút!?!
Hỏi các Bác về hàm foreach tí nha?
Đăng ký học lập trình PHP miễn phí tại HN và...
PHP dùng hàm nào viết chữ đè lên ảnh vậy các...
Mong nhận được sự giúp đỡ của các bác về...



×