对于使用Oracle数据库的网站,我们有PHP 5.2.13和ADODB 2.8版。最初,我们的查询没有参数化,可能会引发SQL注入。因此,我们决定切换到参数化查询。现在,当我尝试"准备"声明,我得到错误" 参数类型错误,超出可接受的范围,或者彼此冲突 " 。我已经尝试了所有可能的代码,但没有运气。可能是ADODB 2.8不支持准备好的语句吗?奇怪的是,如果我写的函数名称错误像prepar(没有E),我仍然会得到上面提到的错误。
我正在使用的示例代码如下:
$stmt = $connection->prepare("SELECT NAME, POSITION FROM DEPT WHERE NAME=? AND DEPT=?");
我也尝试使用冒号绑定参数,但没有运气。 OCI和MYSQL有很多代码可供使用,但对于使用PHP的人来说,Oracle似乎是个灰色区域。
PS:我不太了解PHP,因为它不是我的专业领域。