Prepared Statement Parameter Issue with Table Name
在尝试动态设置数据检索的表名称时,遇到错误准备好的语句执行。此错误的原因在于使用了需要表名的参数。
提供的示例代码采用了带有参数占位符“?”的准备好的语句。并尝试为其分配一个值,表示表名。但是,这是不允许的,因为不能通过参数动态指定表名。它们必须在查询本身中显式定义。
解决方案
要解决此问题,请将表名称直接硬编码到查询字符串中,如下所示:
private String query1 = "SELECT plantID, edrman, plant, vaxnode FROM [" + reportDate + "]"?";
此修改可确保查询中正确定义表名,并且可以成功执行而不会出现上述错误。
以上是为什么不能在 SQL 中对表名使用预准备语句参数?的详细内容。更多信息请关注PHP中文网其他相关文章!