MSSQL的PHP​​驱动程序无法正常工作

时间:2014-05-10 05:40:21

标签: php sql-server wamp sqlsrv

我的驱动程序存在问题,因此我的MSSQL可以与PHP并行运行...

我将以下驱动程序放在PHP的目录文件中,并编辑了它的.ini文件:

  • php_sqlsrv_54_ts.dll
  • php_pdo_sqlsrv_54_ts.dll

我有以下错误消息:

  • PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.4.12/ext/php_sqlsrv_54_ts.dll' - %1 is not a valid Win32 application.

  • PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.4.12/ext/php_pdo_sqlsrv_54_ts.dll' - %1 is not a valid Win32 application.

我有关于PHP和MSSQL的以下信息:

FOR PHP:

  • PHP Version 5.4.12
  • 通过WAMP SERVER安装的PHP
  • Architecture x64
  • 线程安全耗尽

FOR MSSQL:

  • MSSQL 2014 Express Edition
  • 使用Microsoft SQL Server Management Studio管理数据库

这些都是以下信息......我在这里搞砸了吗?请帮助我,我仍然是PHP中的新手,特别是在MSSQL中... CHEERS!


这是我的代码@JayBhatt必须更正的内容才能运行以下代码:

<?php
$myServer = "localhost";
$myUser = "sa";
$myPass = "joseph04";
$myDB = "cars";

//connection to the database
$dbhandle = mssql_connect($myServer, $myUser, $myPass)
  or die("Couldn't connect to SQL Server on $myServer");

//select a database to work with
$selected = mssql_select_db($myDB, $dbhandle)
  or die("Couldn't open database $myDB");

//declare the SQL statement that will query the database
$query = "SELECT brand, model, year ";
$query .= "FROM cars ";
$query .= "WHERE brand='Honda'";

//execute the SQL query and return records
$result = mssql_query($query);

$numRows = mssql_num_rows($result);
echo "<h1>" . $numRows . " Row" . ($numRows == 1 ? "" : "s") . " Returned </h1>";

//display the results
while($row = mssql_fetch_array($result))
{
  echo "<li>" . $row["brand"] . $row["model"] . $row["year"] . "</li>";
}
//close the connection
mssql_close($dbhandle);
?> 

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,经过大量研究后我发现,微软还没有为MSSQL发布64位版本的驱动程序。

您拥有的驱动程序适用于32位环境。这就是它无法加载的原因。尝试切换到WAMP服务器的32位环境,它将起作用。

希望这有帮助。

答案 1 :(得分:0)

您可以获取PHP的非官方x64 SQLSRV驱动程序。尝试安装它们。这是你的链接。只需用x64 dll替换dll。

http://robsphp.blogspot.in/2012/06/unofficial-microsoft-sql-server-driver.html

此外,您应该使用SQLSRV函数连接数据库 和MSSQL函数。他们都使用不同的驱动程序 你应该使用&#34; sqlsrv_connect&#34;而不是&#34; mssql_connect&#34;。

参考:http://php.net/manual/en/book.sqlsrv.php