アプリ版:「スタンプのみでお礼する」機能のリリースについて

基本的な質問で申し訳ありません。
$sql="......";にSQL文を書き
$rst = mysql_query($sql,$con);
$col = mysql_fetch_array($rst);
として($conはmysql_connect関数の結果です)
WEBを作成しているのですが、ある程度以上長いSQL文を書くと正常に作動しません。(短いSQLであれば正常に差作動します。)

 当然SQL文自体もmysqlで直接実行すると作動するものです。SQL文自体がUNIONや副問い合わせを多用し250行程度になってしまったためかと考えていますが、文字数制限等があるのでしょうか?PHPには変数宣言が無いと認識しているのでどう対処して良いかわかりません。

SQLを分解できないとすると何か良い方法はありますでしょうか?
よろしくお願いいたします。

A 回答 (3件)

SQLを$SQLに代入する際に文法ミスはありませんか?


文字数制限自体は無いと思うのですが、表示されるエラーメッセージを教えて頂けませんか?

あと
mysqlで副問い合わせですか?
SQLだけで250行は多すぎでは?

それからテーブルの設計自体を見直した方がいいかも知れません。
    • good
    • 0
この回答へのお礼

申し訳ありません。文字数制限が理由では無いようです。
エラーも出ずブランク画面が帰ってきていたのでおかしいとは思っていたのですが。。
どうも他に原因があるようです。(コンソールで実行すると数字が帰ってくる変数がなぜかNULLで帰ってきているようです。)もう少し原因を追求して見ます。
ありがとうございました.

お礼日時:2004/08/10 19:45

#2です。


失礼いたしました。MySQLはVIEWをサポートしていないんですね。

とりあえず原因が分かりつつあるようですね。
    • good
    • 0

250行とは長いSQLですね。


とりあえずそのSQLはコンソールで実行できますか?

UNIONを使っているということであればその部分をviewにすることである程度短くできると思います。

MySQLって副問い合わせに対応してました?
    • good
    • 0
この回答へのお礼

いろいろいじってみた結果原因は文字数制限ではないようです。(申し訳ないです。)SELECT 'TEST' AS test1, ~と書き足してやり$col["test1"]にちゃんと値が入りました。(ただし理由はまだ突き止めていませんが、私の求めている結果はNULLになっているようです。コンソールではちゃんと値が帰ってくるのに…??)

Viewにすると…とありましたが、mysqlではViewが無いと認識していましたが、Viewを作成する方法があるのでしょうか?

回答ありがとうございました.

お礼日時:2004/08/10 19:41

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