この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());
}
}
期待どおりの結果が得られます。どうなり得るか?
私のコードは、MSSQL Server 2008 に接続して、UnixODBC と FreeTDS を使用して Ubuntu Server で実行されています。
よろしく!