dポイントプレゼントキャンペーン実施中!

phpとMySql(4.0.26)でプログラムを作成しているのですが、
CREATE TEMPORARY TABLEでテンポラリーテーブルを3つ作成して、
データの抽出をしようとしています。

phpMyAdminでは動くSQLが、PHP内に書くと動かなくても困っています。

原因を特定するためにSQLを少しずつ削除して確認していたところ、CREATE TEMPORARY TABLEが一つの場合はエラーが出ませんが、違う名前で別のテーブルから生成するもう一つのCREATE TEMPORARY TABLEを書くとエラーが起きてしまいます。
ちなみに、そのSQLを同じサーバに動作させているphpMyAdminのSQL画面にコピペすると、正常に動作します。

何が悪いのか全く検討が付きません。

どうぞよろしくお願いいたします。

A 回答 (2件)

TEMPORARY TABLE の名前が同一とかではないですか?


TEMPORARY TABLEでも、違う名前にしないとCREATEできません。

この回答への補足

名前は変えています。

phpMyAdminでは同じSQLが動いているので、
なぜなのかわかんないんです。

補足日時:2006/05/19 16:20
    • good
    • 0

実際の発行をしているSQL文がないので予想でしかできませんが、変数とか使っていらっしゃいますか?



一つなら作れるのでしたら、
一つ作ってみて、その内容を確認してみてください。
二つめの発行があっているか確認してみてください。

日本語は使っていますか?
文字コードが違うとエラーになる場合があります。

これだけの情報だけでどこが悪いのかは私も検討が付きません。
    • good
    • 0
この回答へのお礼

すみません。PHPでのsqlの使い方にあやまりがあったようでした。

一つの文字列の中に複数のSQLを書いて、
mysql_queryをしていましたが、ひとつずつに書き直したら無事うまくいきました。

ありがとうございました。

お礼日時:2006/05/20 19:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!