Oracle数据库不会在我的PHP表中输出

Oracle数据库不会在我的PHP表中输出,php,oracle,Php,Oracle,我试图使用PHP表单从Oracle SQL Developer数据库中的特定表中输出数据。我在过去使用MySQL时对这个概念有一些经验,但现在我很难理解使用Oracle特定语法集成它之间的区别 我的代码布局非常理想,但是当我运行代码时,我得到了一个关于OCI_FETCH_数组参数的错误,我不确定如何解决 我的代码 我不断犯的错误 警告:oci_fetch_数组要求参数2为整数、字符串 屈服于 /studenthome.hallam.shu.ac.uk/STUDENTHOME8/1/b504831

我试图使用PHP表单从Oracle SQL Developer数据库中的特定表中输出数据。我在过去使用MySQL时对这个概念有一些经验,但现在我很难理解使用Oracle特定语法集成它之间的区别

我的代码布局非常理想,但是当我运行代码时,我得到了一个关于OCI_FETCH_数组参数的错误,我不确定如何解决

我的代码

我不断犯的错误

警告:oci_fetch_数组要求参数2为整数、字符串 屈服于 /studenthome.hallam.shu.ac.uk/STUDENTHOME8/1/b504831/public_html/ADM/bin/php/entities/database.php 在线12

我知道它要求一个整数,但为什么?在MySQL概念中,您只需概述连接字符串,它从来都不是问题

有人能帮忙吗?

从调用oci\u fetch\u数组应该像这样调用

while($row= oci_fetch_array($stid))
第二个参数是模式-即OCI_ASSOC

更新:当使用oci_parse时,这实际上不会执行已解析的语句,您需要执行

oci_execute($stid);
所以你的代码应该是

$sql = 'SELECT * FROM ALGORITHM';
$stid = oci_parse($conn, $sql);
oci_execute($stid);
echo "<table border='1'>";
echo "<tr> <th>ID</th> <th>Name</th> <th>Description<th> </tr>";

while($row= oci_fetch_array($stid, OCI_ASSOC))

查看代码示例

我尝试将其更改为while$row=oci_fetch_array$stid,oci_ASSOC,但现在我收到一个错误,告诉我ORA-24374:定义在fetch之前未完成或执行,fetch inAdded回答有关调用oci_execute$stid的问题;解析后。取得了一些进展,但是现在我收到了算法\u ID、算法\u名称和算法\u角色的未定义索引错误,重复了3次。好的,尝试添加一个print\u r$行;就在while循环的开始,看看你得到了什么数据。我把它添加到while循环的上面,但是代码不能识别变量。
$sql = 'SELECT * FROM ALGORITHM';
$stid = oci_parse($conn, $sql);
oci_execute($stid);
echo "<table border='1'>";
echo "<tr> <th>ID</th> <th>Name</th> <th>Description<th> </tr>";

while($row= oci_fetch_array($stid, OCI_ASSOC))