- 締切済み
PHP関数化での不具合?
お世話になっております。 PHP歴(趣味レベルで)1年のdwtと申します。 PHPでどうしても解決できない不具合があり 自分では解決できそうになかったので質問させて 頂きました。以下のその症状です。 ・プログラム MySQLと連動したBBS →改造・参考元http://php.s3.to/のP-BBS DB版 ・形式 自作のBlogにインクルードさせて動作させる HTMLタグを修正すれば単体起動も可能 ・プログラムの流れ 変数宣言 ↓ 各処理をfunctionで小分け その際必要な変数だけglobalにて取得 ↓ case文で処理ごとに必要なfunctionを拾い上げ ・症状 単体起動だと正常に動作するがインクルードを行うと 「You have an error in your SQL syntax near 'bbs,5' at line 1」 となる。 ・原因思えるポイント スクリプトをfunctionで小分けするという事は これ以外やったことないのでそのへんの不具合? ->但しglobalで必要なものを呼んでいる 処理内のインクルードでfunctionというやり方がおかしい ->blog側では処理の真っ最中なので宣言しなおしっていうのはやはり変……だけど妥当な修正が思いつかず(^^; SQL宣言がおかしい ->インクルードスクリプト事にオープン/クローズを行っているので接続は問題ないハズ。構文エラーも単体起動可能なので平気かと思われます。 以上です。 ここをチェックしてみれば?的なご意見があればお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- moon_night
- ベストアンサー率32% (598/1831)
処理内のインクルードでfunctionというやり方がおかしいのでは? インクルードするファイルに直接実行PHPを書込み、functionで囲わなければ global にしなくても動作すると思いますけども。。 (インクルードするのならばDBのオープンクローズしなくてもよいかと。DBが開いているところでインクルードさせればそのままSQLを実行すれば問題なし。) もしくはDBのオープンクローズに問題ありとか?
お礼
やはりそこが怪しいですよね(^^;>処理内関数宣言 そうですね。そこを書き換え再度やってみようと 思います。 それでだめでも原因の特定につながりますからね(^^; 回答ありがとうございます!