2013-06-24 112 views
0

我正在爲PHP 5.3.1使用mssql pdo,它運行時沒有任何問題,突然間我發現,我的所有插入查詢在從php PDO運行時失敗,如果我回顯查詢並在其中運行它SQL服務器管理工​​作室,它運行沒有任何錯誤。下面是我的回聲查詢PHP PDO mssql錯誤

INSERT INTO contactus(title, first_name, last_name, email) VALUES('Mr', 'Robin', 'Michael', '[email protected]') 
以下

是錯誤

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

@JW웃我更新了我的問題,錯誤 –

+2

[PDO查詢失敗,但我看不到任何錯誤。如何從PDO獲取錯誤消息?](http://stackoverflow.com/a/15990858/285587) –

回答

0

最後,我發現這個問題,這是因爲我的機器和我們的Windows服務器上最近的Windows更新。此更新之後mssql pdo驅動程序引發此錯誤。我從微軟網站下載sqlsrv20驅動器和放置在文件
php_pdo_sqlsrv_53_ts_vc6.dll內PHP擴展目錄,並在諸如延長= php_pdo_sqlsrv_53_ts_vc6.dll php.ini文件中添加新的擴展,改變了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文件中添加該擴展名。