有这个 PHP 代码:
$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 Server 上运行,使用 UnixODBC 和 FreeTDS,连接到 MSSQL Server 2008。
问候!