【发布时间】:2013-12-23 19:26:38
【问题描述】:
似乎当 SQL 查询以分号结尾时,准备/执行语句会失败。我得到 ORA-00911: invalid character 错误。我想知道这是否是 pdo_oci 驱动程序错误?有没有人遇到过这个问题? 示例:
try{
$conn = new PDO($dsn,$db_username,$db_password,$options);
}catch(PDOException $e)
{
echo ($e->getMessage());
}
try{
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sqlQuery = 'SELECT "object" FROM "statements" WHERE "subject" = ? and "predicate" = ?;';
$sth = $conn->prepare($sqlQuery);
$sth->execute(array('http://192.168.1.234/taooracle/tao_ora_dev.rdf#i1386330868934416', 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type'));
while ($row = $sth->fetch()){
$uri = $row['object'];
echo $uri;
}
}catch(PDOException $e){
print $e->getMessage() ."<br />";
print $e->getLine() ."<br />";
}
SQLSTATE[HY000]: General error: 911 OCIStmtExecute: ORA-00911: invalid character
删除分号很容易,但是这样的查询更多,我想知道是否有更好的选择。
【问题讨论】: