2012-03-12 5 views
0

一時テーブルを作成し、彼らが照会一般的なエラー、私はPDO</strong> PHP <strong>を使用していますが、私は以下のクエリを使用する場合、私はこのエラーを持っている

SQLSTATE[HY000]: General error 

クエリ、

  CREATE TEMPORARY TABLE temp_tb 
      SELECT * FROM person; 

      ALTER TABLE temp_tb 
      DROP type; 
      SELECT * 
      FROM temp_tb AS p 

      LEFT JOIN user AS u 
      ON p.person_id = u.person_id 

      LEFT JOIN category AS c 
      ON u.category_id = c.category_id 

      WHERE u.signature = ? 

ですテンポラリテーブルを作成し、そのテンポラリテーブルからカラムを削除し、それを他のテーブルと結合します。

phpMyAdminで直接クエリを実行するとOKですが、PDOでは返されません。クエリやPDOで間違っていたことは何ですか?どうすればこの問題を回避できますか?

EDIT:

PDO、

public function fetch_object($query, $params = array()) 
    { 
     try 
     { 
      # prepare the query 
      $stmt = $this->connection->prepare($query); 

      # if $params is not an array, let's make it array with one value of former $params 
      if (!is_array($params)) $params = array($params); 

      # execute the query 
      $stmt->execute($params); 

      # return the result 
      return $stmt->fetchObject(); 
      //return $stmt->fetch(PDO::FETCH_OBJ); 
     } 
     catch (PDOException $e) 
     { 
      # call the get_error function 
      $this->get_error($e); 
     } 
    } 

$user = $this->database->fetch_object($sql,$authenticated_user); 

エラー、

SQLSTATE [HY000]:一般的なエラーの問題は、あなたが(1回の呼び出しで複数のクエリを使用することである

+0

クエリは完璧に実行されていると思われます。あなたのPDOコードで何が間違っていても、あなただけが知ることができます... –

答えて

0

テンポラリテーブルを作成し、それを変更してから選択します)。 1回の呼び出しで複数のクエリについて読むhere

+0

答えをありがとう。今私は何をしたのか分かります。 – laukok

関連する問題