为了在PHP中使用Oracle语义函数传递pl/sql语句

为了在PHP中使用Oracle语义函数传递pl/sql语句,php,oracle,function,plsql,semantics,Php,Oracle,Function,Plsql,Semantics,我正在使用PHP开发连接到Oracle数据库的android应用程序 我使用PL/SQL语句和Oracle中提供的语义技术(特别是SEM_匹配、SEM_模型、SEM_规则库或类似的东西) 但是,它不能正常工作……不过android和Oracle之间的连接工作得很好 整个php代码如下所示 <?php function db_connect() { $db = "(DESCRIPTION=(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST

我正在使用PHP开发连接到Oracle数据库的android应用程序

我使用PL/SQL语句和Oracle中提供的语义技术(特别是SEM_匹配、SEM_模型、SEM_规则库或类似的东西)

但是,它不能正常工作……不过android和Oracle之间的连接工作得很好

整个php代码如下所示

<?php
function db_connect()
{
    $db = "(DESCRIPTION=(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 203.249.105.20)(PORT = 1521)))(CONNECT_DATA=(SID=orcl)))";

    if ($conn=oci_connect("rdfusr", "rdfusr", $db)){
        echo "Successfully connected to Oracle.<br />\n";           
        return $conn;
    } else {
        $err = OCIError();
        echo "Oracle Connect Error " . $err[text];
    }
}
$conn = db_connect();
$stid = oci_parse($conn, "SELECT nm.NAME, nm.FLOOR, nm.ROOM_NUM, nm.PHONENUM, nm.FID FROM
(SELECT z FROM TABLE(SEM_MATCH('{?y :soldIn ?z}',
SEM_Models('shopping_model'),
SEM_Rulebases('owlprime','activity_rb'),
SEM_ALIASES(SEM_ALIAS('','http://www.example.org/space/')),null)) 
WHERE y = 'http://www.example.org/activity/Carbonara') ont,BUSINESSINFO nm
WHERE ont.z = nm.NAME;");
oci_execute($stid);
while (($row = oci_fetch_array($stid, OCI_BOTH))) {
    $output[]=$row;
}
print(json_encode($output));

oci_free_statement($stid);
oci_close($conn);
?>

“它不能正常工作”没有多大帮助。请清楚地解释发生了什么或没有发生什么,包括您收到的任何错误消息。我们无法运行您的代码,所以我们只知道您告诉我们的内容。好吧..具体来说,连接工作正常,但警告消息如下所示:警告:oci_execute(),警告:oci_fetch_array(),注意:未定义变量:第53行C:\KebiHome\survey\php\orcl_restaurant1.php中的输出-第53行是“print(json_encode($output));”查询语句本身在sql developer程序中得到了完美的处理。