2017-06-01 95 views
0

我打算在我的数据库中显示一些PHP列。 我的PHP代码如下所示:警告PHP oci_execute()和oci_fetch_row()

<?PHP 
$conn=oci_connect('student', 'STUDENT', 'localhost/XE'); 
if(!$conn) 
{ $c=oci_error(); 
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR); 
} 
$stid=oci_parse($conn, "SELECT * FROM matches m JOIN teams tt ON m.id_team1=tt.team_id JOIN teams ttt ON m.id_team2=ttt.team_id"); 
oci_execute($stid); 
echo "<table>\n"; 
while (($row = oci_fetch_row($stid)) != false) { 
    echo "<tr>"; 
    echo "<td>".$row[9] ."<td>".$row[4]."</td>"."<td>".$row[5]."</td>"."<td>".$row[13]."</td>"; 
    echo " </tr>"; 
} 
echo "</table>\n"; 
?> 

我收到此错误:

Warning: oci_execute(): ORA-00911: invalid character in C:\Apache24\htdocs\finale.php on line 60 (line 60= oci_execute($stid);)

Warning: oci_fetch_row(): ORA-24374: define not done before fetch or execute and fetch in C:\Apache24\htdocs\finale.php on line 62 (while (($row = oci_fetch_row($stid)) != false))

谁能帮助我吗?

+0

有没有看到这个SQL查询有什么问题。您是否尝试将其复制并粘贴到数据库查询工具(例如SQL Developer)中以查看它是否运行? – timclutton

+0

我删除了plsql标记。如果你用简单的'“SELECT * FROM matches”来改变查询,它能正常工作吗?您可能需要重新输入整个查询,因为**错误的空白**可能已经输入到那里。 –

回答

-1

在你的代码,你可能不会再参加同一个表.. "SELECT * FROM matches m JOIN teams tt ON m.id_team1=tt.team_id JOIN teams ttt ON m.id_team2=ttt.team_id"

队出现了两次。

+0

是的,因为我想做一个自我加入 – Codrinaap