2017-06-01 37 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