2011-10-31 29 views
5

Tôi đang cố gắng để kết nối từ php để Azure DB bởi"Call to undefined function sqlsrv_connect()" khi cố gắng kết nối với Azure DB từ PHP

$connectionInfo = array("UID" => "[email protected]", "pwd" => "xxx", "Database" => "xxx"); 
$serverName = "tcp:xxx.database.windows.net,1433"; 
$conn = sqlsrv_connect($serverName, $connectionInfo); 

Nhưng nó mang lại cho tôi

Fatal lỗi: Lệnh gọi hàm sqlsrv_connect không xác định() trong C: \ wamp \ www ... \ index.php on line 19

+1

Tại sao không thực hiện nhanh Google trước và tìm những thứ như [this] (http://msdn.microsoft.com/en-us/library/windowsazure/ff394110.aspx) hoặc [this?] (Http: // blogs.msdn.com/b/brian_swan/archive/2010/02/12/getting-started-with-php-and-sql-azure.aspx) –

+0

Ok ... cảm ơn. Tuy nhiên, bây giờ nó nói "Fatal error: Call to undefined function sqlsrv_connect() in ...", rõ ràng là PHP của tôi thiếu một số phần mở rộng. – Roger

+2

Yup, bạn cần [mở rộng máy chủ SQL] (http://www.php.net/manual/en/book.sqlsrv.php). Trên Windows, thật dễ dàng để thêm nó, mặc dù bạn thường chỉ cần kích hoạt DLL thích hợp trong php.ini (xem chương "cài đặt"). –

Trả lời

8

bạn phải sử dụng các SQL Server native driver for php ở vị trí đầu tiên, sau đó bạn có thể làm một cái gì đó như:

$serverName = "tcp:sample.database.windows.net, 1433"; 

$connectionOptions = array("Database" => "sampleInit", 

          "UID" => "[email protected]", 

          "PWD" => "samplePass", 

          "MultipleActiveResultSets" => false); 

$conn = sqlsrv_connect($serverName, $connectionOptions); 

if($conn === false) 

{ 

    die(print_r(sqlsrv_errors(), true)); 

} 

Bạn có thể đọc thêm về PHP và SQL Azure tại sau bài viết trên blog:
http://blogs.msdn.com/b/brian_swan/archive/2010/02/12/getting-started-with-php-and-sql-azure.aspx

+0

Cảm ơn! Cài đặt nó, dường như kết nối tất cả các quyền! :) Tôi có làm việc với nó như với MySql DB thông thường từ bây giờ không? – Roger

+0

Vâng, bạn làm việc như một thường xuyên SQL Server DB từ bây giờ :) Có một số (có thể có nhiều) khác biệt giữa các ngôn ngữ SQL trong SQL Server và MySQL. Ví dụ trong SQL server không có LIMIT từ khóa. Nhưng nói chung - có, từ bây giờ bạn đang làm việc như với cơ sở dữ liệu bình thường. Tôi khuyên bạn nên sử dụng một số loại lớp trừu tượng DB - chẳng hạn như adodb hoặc bất kỳ loại nào khác. – astaykov

0

tôi thêm this dll đến ext/thư mục sau đó thêm extension=php_sqlsrv.dll vào php.ini trong php7/thư mục.

Các vấn đề liên quan