2
有了這個PHP代碼:odbc_execute失敗了,那麼說,「無法取得錯誤消息」
$sql = "SELECT * FROM users WHERE name = ?";
$params = array('admin');
$result = odbc_prepare($link, $sql);
if (!$result) {
die(odbc_errormsg());
}
else {
if (!odbc_execute($result, $parameters)) {
die(odbc_errormsg());
}
}
我得到這個:
Warning: odbc_execute() [function.odbc-execute]: SQL error: Failed to fetch error message, SQL state HY000 in SQLExecute in [...]
但是,如果我這樣做:
$sql = "SELECT * FROM users WHERE name = 'admin'";
$params = array();
$result = odbc_prepare($link, $sql);
if (!$result) {
die(odbc_errormsg());
}
else {
if (!odbc_execute($result, $parameters)) {
die(odbc_errormsg());
}
}
我得到了預期的結果。會是什麼呢?
我的代碼是Ubuntu的服務器上運行,使用了unixODBC和freetds的,連接到MSSQL Server 2008的
商祺!
我發現它似乎FreeTDS不支持「參數化查詢」(我發現它是不可理解的):http://freetds.schemamania.org/faq.html#What.features.are.missing –