将 ASP 连接转换为 PHP


Converting ASP connection to PHP

我有一个预先存在的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();

返回 ERRO:

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

PHP 有几个选项可用于连接到 MS SQL Databse。

您需要的最佳选择是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

$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