将 Pear DB 站点迁移到 mdb2,返回语法错误

migrating a Pear DB site to mdb2, syntax error returned

我正在更新很多旧方法,但我一直坚持这一行

$res =& $mdb2->query($mdb2->prepare("SELECT * FROM book WHERE id = ?"), array($sql_id));

我在错误日志中收到一条消息说 PHP 致命错误:调用未定义的方法 MDB2_Error::numRows()

所以我添加了这一行

if (PEAR::isError($res)) { die($res->getMessage().' ::: '.$res->getUserInfo()); }

查看导致错误的原因,然后将其返回屏幕

MDB2 Error: syntax error ::: _doQuery: [Error message: Could not execute statement] [Last executed query: MDB2 Error: syntax error] [Native code: 1064] [Native message: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MDB2 Error: syntax error' at line 1] 

我不确定查询有什么问题,我觉得没问题?

到此为止,无需进行准备部分。

 $res =& $mdb2->query("SELECT * FROM book WHERE id = '" . $sql_id . "' " );