人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPの質問です。
以下でPHPでMySQLに接続しています。

if($A != 0){
while ( $row = mysql_fetch_array( $res, MYSQL_ASSOC ) ) {
echo $row['ken_info'];
}
}

右中括弧 } が最後に2つ並んでいます。
最初の } はwhileに対応したもので、後の } がifの締めくくりです。

しかし困ったことにPHPが最初の } をifの締めくくりと判断してしまい、$Aが0の場合は余計な } が一つ残ってエラーになってしまいます。

これはどうすればいいでしょうか??

●質問者: tokyosmash
●カテゴリ:インターネット ウェブ制作
✍キーワード:echo MySQL PHP エラー 対応
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● ctrl-v
●43ポイント ベストアンサー

PHPが最初の}をifの締めくくりと判断することはありません。

前後に閉じ忘れの{がないかもう一度確認されて方が良いかと思います。

PHPエディター(http://phpspot.net/php/phpeditor.html)のようなソフトを使うと、対応する{}を太字で表示してくれるので、ミスを減らすことができます。

◎質問者からの返答

確かにPHPが間違うなんてありえないですよね。

自分が間違っていたようです。

くだらない質問してすいませんでした。。


エディター使いやすいですね!

プログラム書く時はTeraPadしか使わなかったのですが、PHP勉強中なのでこのエディタも使っていこうと思います。

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


2 ● yuduki1219
●32ポイント

php側でそのような判断をすることはないので、

おそらく前後の文章に何かしらのミスがあると思われます。

前後の{}を使用しているif文などに閉じ忘れがないか、

あるいは各文末の;の付け忘れがないかなど確認してみるとよいかもしれません。

◎質問者からの返答

数年前CSSを勉強していた時に、自分は間違っていないつもりなのにIEで表示させると何だか違う具合になってしまってたんです。

実際IEはバグがちょこちょこあるのですが、PHPもそうなのかなーと疑心難儀になってしまいました。

ご丁寧にありがとうございます!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ