Hướng dẫn dùng dsn trong PHP

HomePHPPHP Kết nối SQL(Microsoft SQL SERVER) thông qua ODBC

ODBC là gì?
ODBC (viết tắt của Open Database Connectivity - kết nối cơ sở dữ liệu mở) cung cấp một phương pháp API phần mềm chuẩn cho phép bạn kết nối đến các cơ sở dữ liệu như là MSSQL, MySQL, MS Access...

Hướng dẫn dùng dsn trong PHP

Sau đây mình xin hướng dẫn bạn kết nối php với cơ sở dữ liệu Microsoft SQL Server. Mặc định PHP kết nối với MySQL, còn ASP thì làm việc với MSSQL. Nhưng trong một số trường hợp bạn muốn viết ứng dụng PHP của mình kết nối với MMSQL bạn có thể đọc bài viết của mình để kết nối nhé.

Tạo Một Kết Nối ODBC
Với kết nối ODBC, bạn có thể kết nối với bất kỳ cơ sở dữ liệu nào, trên bất kỳ máy tính nào trong mạng của bạn, miễn là có kết nối ODBC.

Sau đây là các bước để tạo kết nối ODBC đến cở sở dữ liệu MSSQL:

  1. Mở ứng dụng Administrative Tools trên Control Panel của bạn.
  2. Kích Đúp Chuột vào Data sources (ODBC) trên thanh công cụ.
  3. Chọn Thanh System DSN.
  4. Kích vào Add trong trang System DSN.
  5. Chọn cơ sở dữ liệu mà bạn muốn kết nối đến (ở đây mình chọn SQL Server Native Client 11.0).  bạn điền đầy đủ thông tinchọn Finish.
  6. Sau đó ở màn hình tiếp theo xuất hiện bạn có kể kiểm tra kết nối đến cở sỡ dữ liệu của bạn, nếu thành công bấm OK.

Kết Nối Đến ODBC

Trong PHP đã có sẵn 1 hàm là odbc_connect() cho phép bạn kết nối đến một cơ sở dữ liệu ODBC. Hàm này yêu cầu 4 tham số:  Tên của ODBC, tên người dùng, mật khẩu, tùy chọn.

Sau đó Bạn sẽ dùng hàm odbc_exec() để thực thi câu lệnh SQL.

Thí dụ:
Ví dụ sau đây tạo ra một kết nối đến DSN được gọi là test_database, không có tên người dùng và không có mật khẩu. Sau đó, nó tạo ra một câu lệnh SQL và thực thi nó:
$conn=odbc_connect('test_database','',''); 

$sql="SELECT * FROM customers"; 

$rs=odbc_exec($conn,$sql);

Lấy dữ liệu:
Hàm odbc_fetch_row () được sử dụng để trả về các bản ghi từ tập kết quả. Hàm này trả về TRUE nếu có thể trả về các hàng, nếu không thì trả về FALSE.

Hàm có hai tham số: mã định danh kết quả ODBC và số hàng tùy chọn:
odbc_fetch_row ($ rs)

Lấy các trường từ một bản ghi:
Hàm odbc_result () được sử dụng để đọc các trường từ một bản ghi. Hàm này có hai tham số: mã định danh kết quả ODBC và số hoặc tên trường.

Dòng mã dưới đây trả về giá trị của trường đầu tiên từ bản ghi:
$ compname = odbc_result ($ rs, 1);

Dòng mã dưới đây trả về giá trị của một trường có tn "CompanyName":
$ compname = odbc_result ($ rs, "CompanyName");

Đóng kết nối ODBC
Hàm odbc_close () được sử dụng để đóng kết nối ODBC.
odbc_c Đóng ($ Conn);

Một ví dụ ODBC:
Ví dụ sau đây cho thấy cách tạo kết nối cơ sở dữ liệu trước, sau đó là tập kết quả và sau đó hiển thị dữ liệu trong bảng HTML.




$conn=odbc_connect('northwind','','');
if (!$conn)
  {exit("Connection Failed: " . $conn);}
$sql="SELECT * FROM customers";
$rs=odbc_exec($conn,$sql);
if (!$rs)
  {exit("Error in SQL");}
echo "

";
echo "";
echo "";
while (odbc_fetch_row($rs))
{
  $compname=odbc_result($rs,"CompanyName");
  $conname=odbc_result($rs,"ContactName");
  echo "";
  echo "";
}
odbc_close($conn);
echo "
Companyname Contactname
$compname $conname
";
?>

Cảm Ơn các Bạn đã theo dõi.

Bạn đang cố gắng sử dụng ứng dụng 64 bit với trình điều khiển ODBC 32 bit hoặc ngược lại. Nhìn vào ODBC trên Nền tảng Windows 64-bit .

Trước tiên, bạn cần xác định xem ứng dụng PHP của mình là 64 bit hay 32 bit.

Sau đó, khi bạn đã chắc chắn rằng bạn cần khởi động quản trị viên ODBC chính xác - có 2 trong số đó, một cho 32 bit và một cho 64 bit. Quản trị viên ODBC 64 bit có trong các công cụ quản trị viên, bảng điều khiển và bảng điều khiển 32 bit có trong đó %windir\syswow64\odbcad32.exe.

Khi bạn đã đối sánh kiến ​​trúc ứng dụng của mình với người quản trị ODBC phù hợp, bạn cần tạo DSN hệ thống. Nếu bạn không thể tìm thấy trình điều khiển MS Access trong quản trị viên, bạn sẽ cần tải xuống một trình điều khiển cho kiến ​​trúc đó. Tôi không chắc liệu có trình điều khiển MS Access ODBC 64 bit hay không; nếu không, bạn sẽ phải thay đổi kiến ​​trúc ứng dụng của mình.

Bài báo tôi tham khảo có nhiều thông tin hơn.

20 hữu ích 5 bình luận chia sẻ