下面是輸出的phpinfo:version.php如何使用PHP7連接到SQL Server? (我是什麼失蹤?)
下面的代碼:
$serverName = "X.X.X.X";
$connection = array("UID"=>"UserID", "PWD"=>"Password123", "Database"=>"database_name");
$conn = sqlsrv_connect($serverName, $connection);
if ($conn === false) {
$myfile3 = fopen("log.txt", "w");
fwrite($myfile3, sqlsrv_errors());
fclose($myfile3);
};
$tsql = "SELECT top 10 pName from products";
$stmt = sqlsrv_query($conn, $tsql);
$row = sqlsrv_fetch_array($stmt);
$myfile4 = fopen("log.txt", "w");
fwrite($myfile4, $row[0]);
fclose($myfile4);
sqlsrv_free_stmt($stmt);
sqlsrv_close($conn);
沒有被寫入日誌文件。即使我在fwrite中硬編碼文本($ myfile3,「hard coded text」);地方,沒有什麼是寫出來的。
這裏的php.ini文件中
[ExtensionList]
;extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_mbstring.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_curl.dll
extension=php_exif.dll
extension=php_xmlrpc.dll
extension=php_openssl.dll
extension=php_soap.dll
extension=php_pdo_mysql.dll
extension=php_pdo_sqlite.dll
extension=php_imap.dll
extension=php_tidy.dll
extension=php_sqlsrv_7_nts_x64.dll
;extension=php_sqlsrv_7_ts_x64.dll
最後,我知道我並不需要所有的這些擴展部分,但這些都是4名的dll我在ext文件夾。
php_sqlsrv_7_nts_x64.dll
php_sqlsrv_7_nts_x86.dll
php_sqlsrv_7_ts_x64.dll
php_sqlsrv_7_ts_x86.dll
您是否嘗試過使用'$ serverName =「serverName \ sqlexpress」; // serverName \ instanceName'?沒有文件寫入,我的意思是把死像'die(print_r(sqlsrv_errors(),true));'? –
還要確保SQL服務器在默認端口(1433)上運行,否則除了IP地址外還必須指定它。 –
什麼是錯誤/警告?如果沒有,請確保在.ini文件中打開它們。嘗試將所有內容全部封裝在「try/catch」中以獲取異常。當然,檢查SQL語句是否返回任何內容。 – Parfait