我正在使用mssql pdo for PHP 5.3.1,它运行没有任何问题,突然我发现,所有我的插入查询在从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 )
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:0)
最后,我发现了这个问题,这是因为最近我的机器和Windows服务器上的Windows更新。在此更新后,mssql pdo驱动程序抛出此错误。我从microsoft网站下载了sqlsrv20驱动程序,并将文件放在文件中 php扩展目录下的php_pdo_sqlsrv_53_ts_vc6.dll并在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文件中添加扩展名。