如何使用 PHP7 让 mssql_connect 工作?
How do I get mssql_connect to work using PHP7?
在使用 PHP7 将网络应用程序移植到服务器时,我遇到了一个问题:我无法让 mssql_connect 工作。我发现 mssql 在 PHP7.
上还不能工作(或永远不会工作)
在 Ubuntu(Nginx、php-fpm)上使用 PHP7 连接到 MSSQL 的最快方法是什么?
1.sudo apt-get更新安装php-sybase
2.
$dsn= 'dblib:host=youIP:1433;dbname=XXX;';
$dbusername="sa";
$dbpassword="XXXX";
try
{
$mspdo = new PDO($dsn,$dbusername,$dbpassword);
$mspdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $pe)
{
die("database connect error:". $pe->getMessage());
}
连接功能不再mssql_connect()
。自 php 5.3 以来,它已被弃用。现在 php 7 这个旧功能消失了。但别担心 ;) 现在您可以使用 sqlsrv_connect()
函数来代替。
请记住,在新方法中您需要正确设置参数。有一些差异。这里有一个小例子。
<?php
$serverName = "serverName\sqlexpress, 1542"; //serverName\instanceName, portNumber (1433 by default)
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ) {
echo "Successfuly connected.<br />";
}else{
echo "Connection error.<br />";
die( print_r( sqlsrv_errors(), true));
}
?>
可能这个答案对你来说有点晚了,但我希望对某人来说还不算太晚。
在使用 PHP7 将网络应用程序移植到服务器时,我遇到了一个问题:我无法让 mssql_connect 工作。我发现 mssql 在 PHP7.
上还不能工作(或永远不会工作)在 Ubuntu(Nginx、php-fpm)上使用 PHP7 连接到 MSSQL 的最快方法是什么?
1.sudo apt-get更新安装php-sybase
2.
$dsn= 'dblib:host=youIP:1433;dbname=XXX;';
$dbusername="sa";
$dbpassword="XXXX";
try
{
$mspdo = new PDO($dsn,$dbusername,$dbpassword);
$mspdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $pe)
{
die("database connect error:". $pe->getMessage());
}
连接功能不再mssql_connect()
。自 php 5.3 以来,它已被弃用。现在 php 7 这个旧功能消失了。但别担心 ;) 现在您可以使用 sqlsrv_connect()
函数来代替。
请记住,在新方法中您需要正确设置参数。有一些差异。这里有一个小例子。
<?php
$serverName = "serverName\sqlexpress, 1542"; //serverName\instanceName, portNumber (1433 by default)
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ) {
echo "Successfuly connected.<br />";
}else{
echo "Connection error.<br />";
die( print_r( sqlsrv_errors(), true));
}
?>
可能这个答案对你来说有点晚了,但我希望对某人来说还不算太晚。