一時テーブルを作成し、彼らが照会一般的なエラー、私は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回の呼び出しで複数のクエリを使用することである
クエリは完璧に実行されていると思われます。あなたのPDOコードで何が間違っていても、あなただけが知ることができます... –