0

我在 PHP 5.3.1 中使用 mssql pdo,它运行时没有任何问题,突然我发现,从 php PDO 运行时我的所有插入查询都失败,如果我回显查询并在 SQL Server Management Studio 中运行它,它运行没有任何错误。下面是我的回声查询

INSERT INTO contactus(title, first_name, last_name, email) VALUES('Mr', 'Robin', 'Michael', 'robin@robin.com')

下面是错误

Array ( [0] => HY000 [1] => 10007 [2] => Incorrect syntax near 'Mr'. [10007] (severity 5) [INSERT INTO contactus(title, first_name, last_name, email) VALUES('Mr] [3] => -1 [4] => 5 ) 

谁能帮我解决这个问题??

4

1 回答 1

0

最后,我发现了这个问题,这是因为我的机器和我们的 Windows 服务器上最近的 Windows 更新。此更新后 mssql pdo 驱动程序会引发此错误。我已经从微软网站下载了 sqlsrv20 驱动程序,并将文件
php_pdo_sqlsrv_53_ts_vc6.dll 放在 php 扩展目录中,并在 php.ini 文件中添加了新扩展,如 extension=php_pdo_sqlsrv_53_ts_vc6.dll 并更改了 pdo 连接

$dbcon = new PDO( "sqlsrv:server=$conf->host;Database=$conf->db_name", $conf->db_user, $conf->db_pwd); 

注意:对于 wamp 服务器用户还需要检查 apache 中的 php.ini,并且需要在 apache 下的 php.ini 文件中添加扩展名。

于 2013-06-25T08:14:40.707 回答