我将php与sql server连接起来,当它们都在我的本地计算机上时。
但是当我的PHP脚本在本地计算机上运行时,我需要连接SQL Server Web数据库。
我在PHP扩展中添加了扩展名php_pdo_sqlsrv_54_ts.dll
和php_sqlsrv_54_ts.dll
。
为了在我的本地主机上连接SQL Server,我还需要一个已安装的SQL Server Native Client驱动程序,但这对我与SQL Server Web数据库的连接是否也必须做什么?
当我运行PHP脚本时,脚本需要一些时间来执行,有时会出错:
SQLSTATE [08001]:[Microsoft] [SQL Server Native Client 11.0] TCP 提供程序:连接尝试失败,因为连接方已执行 一段时间后没有正确回应,或建立连接 失败,因为连接的主机无法响应。 1
我的连接脚本是
$serverName = "***.db.*****.********.com";
try{
$conn = new PDO("sqlsrv:server=$serverName;Database=*****", "***UserName***", "***PWD***");
$conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
}
catch(Exception $e){
die( print_r( $e->getMessage() ) );
}
答案 0 :(得分:0)
$ conn =新PDO(“sqlsrv:server = $ serverName; Database = * ”,“ DBNAME ”,“ PWD 强>“); 而不是数据库名称,这里的用户名应该来
答案 1 :(得分:0)
ping serverip
示例ping 192.168.100.12
试试这个..
try {
$hostname = "host"; //host
$dbname = "dbname"; //db name
$username = "user"; // username like 'sa'
$pw = "pass"; // password for the user
$dbh = new PDO ("mssql:host=$hostname;dbname=$dbname","$username","$pw");
} catch (PDOException $e) {
echo "Failed to get DB handle: " . $e->getMessage() . "\n";
exit;
}
$stmt = $dbh->prepare("SELECT * FROM table");
$stmt->execute();
while ($row = $stmt->fetch()) {
print_r($row);
}
unset($dbh); unset($stmt);
您可以在此处找到更多示例http://php.net/manual/en/ref.pdo-dblib.php