0

我有一个预先存在的 ASP 脚本,我的任务是转换为 PHP。连接字符串是这样的:

$conn = new COM("ADODB.Connection");

if(strpos($_SERVER["HTTP_HOST"],"localhost")){
$conn->Open("dsn=xxxxx;uid=xxxxx;pwd=xxxxxxxx");
}elseif(strpos($_SERVER["HTTP_HOST"],"dpsql")){
$conn->Open("dsn=xxxxx;uid=xxxxx;pwd=xxxxxxxx");
}else{
$conn->Open("Provider=SQLOLEDB; Data Source=xxx.xxxxxxxxxxxx.com; Initial Catalog=xxxxxxxxxxxxxx; User ID=xxxxxxxxxx; Password=xxxxxxx;network=xxxxxxx");
}

我可以找到的大多数示例都涉及使用 PHP COM 扩展,但是我使用的是 Linux 托管的 PHP 版本,并且我的托管告诉我 COM 扩展适用于 Windows。我花了几个小时试图弄清楚如何创建一个适用于所有这些的连接对象,但我更面向前端。我尝试使用 PDO 连接但无济于事。任何帮助将不胜感激。

更新

我已经能够使用 PDO 和 sqlite 驱动程序进行连接,因为这就是 HostGator 为我安装的所有内容。对 PDO 不是很熟悉,但我会四处搜索,看看我能弄清楚如何使用它。目前停留在:

$conn = $c->prepare($g_sql);
$conn->Execute();

返回错误:

Fatal error: Call to a member function Execute() on a non-object
4

2 回答 2

1

PHP 有几个选项可用于连接到 MS SQL 数据库。

您需要的最佳选择是COM("ADODB.Connection")课程。

尝试做。

$conn = new COM("ADODB.Connection") or die("Cannot start ADO");

$conn->open("Provider=SQLOLEDB; Data Source=xxx.xxxxxxxxxxxx.com; Initial Catalog=xxxxxxxxxxxxxx; User ID=xxxxxxxxxx; Password=xxxxxxx;network=xxxxxxx");

$query = $conn->execute("SELECT field FROM table");

你可以在这里阅读更多信息:http ://www.php.net/manual/en/class.com.php

于 2013-09-23T22:40:04.020 回答
0
$server = 'xxx.xxxxxxxxxxxx.com';
$conn = mssql_connect($server, 'youruserid', 'yourpassword');

另外,请检查这个,(除非您在 UNIX 上,在这种情况下,您可能必须经历一个等效的过程

http://www.iis.net/learn/application-frameworks/install-and-configure-php-on-iis/install-the-sql-server-driver-for-php

于 2013-09-24T00:47:35.470 回答