Tôi đã thực hiện rất nhiều nghiên cứu cố gắng để có được mã PHP của tôi được lưu trữ trên IIS để kết nối với cơ sở dữ liệu MSSQL của tôi. Tôi dường như không thể tìm ra vấn đề. Đa co ai đi ngang qua đây chưa?Tại sao tôi không thể kết nối với cơ sở dữ liệu mssql bằng PHP?
<?php
$serverName = 'AEGIS-PC\SQLEXPRESS';
$connectionInfo=array('Database'=>'tttb_db');
$con = sqlsrv_connect($serverName, $connectionInfo);
if($con){
echo 'Connection established<br />';
}
else {
echo 'Connection failed<br />';
die(print_r(sqlsrv_errors(), TRUE));
}
?>
Update, chúng tôi có một lỗi mới:
Connection failed Array ([0] => Array ([0] => 28000 [SQLSTATE] => 28000 [1] => 18456 [code] => 18456 [2] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Login failed for user 'NT AUTHORITY\IUSR'. [message] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Login failed for user 'NT AUTHORITY\IUSR'.) [1] => Array ([0] => 42000 [SQLSTATE] => 42000 [1] => 4060 [code] => 4060 [2] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Cannot open database "tttb_db" requested by the login. The login failed. [message] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Cannot open database "tttb_db" requested by the login. The login failed.) [2] => Array ([0] => 28000 [SQLSTATE] => 28000 [1] => 18456 [code] => 18456 [2] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Login failed for user 'NT AUTHORITY\IUSR'. [message] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Login failed for user 'NT AUTHORITY\IUSR'.) [3] => Array ([0] => 42000 [SQLSTATE] => 42000 [1] => 4060 [code] => 4060 [2] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Cannot open database "tttb_db" requested by the login. The login failed. [message] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Cannot open database "tttb_db" requested by the login. The login failed.))
máy chủ SQL của chúng tôi đang sử dụng Windows Authentication và tên máy chủ của chúng tôi là AEGIS-PC\SQLEXPRESS
với tên người dùng và mật khẩu được khối màu xám. Tôi không thể nghĩ lý do đăng nhập của chúng tôi sẽ thất bại. Chúng ta đang làm gì sai?
Bạn có thể chứng minh rằng máy chủ IIS của bạn đang chạy các mã như PHP ở tất cả? Hãy thử tạo một trang chỉ có ' Php phpinfo(); ?> 'và đảm bảo màn hình thông tin đang được hiển thị. – PaulProgrammer
Bạn có báo cáo lỗi được bật cho mã của mình không? – Maximus2012
Bạn đã kiểm tra PHP đang hoạt động trên máy của mình chưa và bạn có các phần mở rộng PHP cần thiết để kết nối với SQL Server không? Bạn đang chạy phiên bản PHP nào? Thực hiện một 'phpinfo();' trong mã của bạn để xem xét các phần mở rộng. – halfer