gpt4 book ai didi

php - odbc_execute 在准备好的语句上失败,然后说它 "failed to fetch error message"

转载 作者:行者123 更新时间:2023-12-04 18:32:39 25 4
gpt4 key购买 nike

有这个 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。

问候!

最佳答案

你为什么不使用 odbc_* 函数而不是使用 PDO?它应该在内部处理参数化查询并将 SQL 语句传递给驱动程序(在本例中为 FreeTDS)。

关于php - odbc_execute 在准备好的语句上失败,然后说它 "failed to fetch error message",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13920361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com