2016-05-31 27 views
0

私は2つのテーブル名のコースと機関を持っています。ここsqlはphpmyadminで動作しますが、PHPスクリプトでは動作しません

CREATE TEMPORARY TABLE 
IF NOT EXISTS temp AS (SELECT course_name, ins_name 
     FROM courses 
     where course_name='ACCA') ; 

select institution.ins_name, address, contact, website, 
email from institution join temp on institution.ins_name = temp.ins_name 

そして、私のPHPスクリプトです:私は問題が何であるかを把握することはできません

<?php 
session_start(); 
include('db_connect.php'); 
$sql="CREATE TEMPORARY TABLE 
IF NOT EXISTS temp AS (SELECT course_name, ins_name 
     FROM courses 
     where course_name='ACCA') ; 

select institution.ins_name, address, contact, website, email from institution join temp on institution.ins_name = temp.ins_name"; 

$result= mysqli_query($conn, $sql) or die("MySQL error: " . mysqli_error($conn)); 

while ($row = mysqli_fetch_array($result)){ 

echo "<tr>"; 
echo "<td>" . $row['ins_name'] . "</td>"; 
echo "<td>" . $row['address'] . "</td>"; 
echo "<td>" . $row['contact'] . "</td>"; 
echo "<td>" . $row['website'] . "</td>"; 
echo "<td>" . $row['email'] . "</td>"; 

echo "</tr>"; 
} 
echo "</table>" 

?> 

が は、ここに私のクエリです。私が手にエラーがある:

MySQLエラー:あなたのSQL構文でエラーが発生しています。私は間違って何をやっているライン6

に近い使用する権利構文についてはMySQLサーバのバージョンに対応するマニュアルを確認する「機関jからinstitution.ins_name、住所、連絡先、ウェブサイト、電子メールを選択して」?

答えて

1

すべてのクエリが個別に実行する必要があります。

select institution.ins_name, institution.address, institution.contact, institution.website, institution.email from institution join temp on institution.ins_name = temp.ins_name"; 
+0

だとわかった。それらを別々に照会する必要がありました。ありがとうございました –

0

createためmysqli_queryを呼び出してから、mysqli_queryのためにする必要がありますので、最初の二つの異なるクエリです2つのクエリを起動します。

+0

それを試しても、私には同じエラーが出ます。 –

2

Multiple Statementsから:また

MySQL optionally allows having multiple statements in one statement string. Sending multiple statements at once reduces client-server round trips but requires special handling.

Multiple statements or multi queries must be executed with mysqli_multi_query() . The individual statements of the statement string are separated by semicolon. Then, all result sets returned by the executed statements must be fetched.

createselectあなたはあなたが各列に別名が必要select

+0

説明ありがとうございます。 –

関連する問題