将ASP连接转换为PHP

时间:2013-09-23 22:25:39

标签: php sql-server

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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