する質問をすることでしか得られない、回答やアドバイスがある。($array>0){}外国のPHP職人とjavascript職人の方の書かれたPHPの補修を承っており、解読に苦労しております。その中で、下記の表現が気になりました。要素の有無の判定をしているのですが、小生は「あれ?」と思って、count()を書きたくなってしまいます。下記の表現の、お薦め度を教えて頂きたく、宜しくお願い致します。Github等での勉強をすれば、よくお目にかかる表現なのかもしれませんが。・・・・";$res=mysql_query($sql);$row=mysql_fetch_array($res);if($row>0){補足情報(FW/ツールのバージョンなど)オリジナルはPHP5.6で、PHP7.1への移行準備中attachmentクリップ0気になる質問をクリップするクリップした質問は、後からいつでもマイページで確認できます。クリップした質問に回答があった際、通知やメールを受け取ることができます。自分も答えを知りたい質問者以外のユーザにも役立つ評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。質問の評価を上げたことを取り消します低評価-評価を下げられる数の上限に達しました評価を下げることができません1日5回まで評価を下げられます1日に1ユーザに対して2回まで評価を下げられます質問の評価を下げるteratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。コメントをしてください。送信する質問の評価を下げる機能の利用条件この機能を利用するためには、以下の事項を行う必要があります。件sort評価が高い順sort新着順sort古い順linkcheckベストアンサー+4そもそもその関数7系で使えないのですが大丈夫ですか?このマニュアルによると行がない場合、falseを返すようですが、countにfalseを渡すと1になります。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。07:37ちなみにおすすめ度として、5.6の時点でmysql_*を使ってるので、おすすめできないですね。ちなみにおすすめ度として、5.6の時点でmysql_*を使ってるので、おすすめできないですね。07:48ご回答ありがとうございます。PDOへの書き換えを進めていて、if($row>0){に対面し、「あれ、count()かな?」と思ったところでした。うろ覚えでは、いけませんでしたね。ご回答ありがとうございます。対面し、「あれ、count()かな?」と思ったところでした。うろ覚えでは、いけませんでしたね。07:59count()の出力を確認致しました。ありがとうございました。count()の出力を確認致しました。ありがとうございました。キャンセル完了するlink+2既に出ているようにmysql*系の関数はPHP7では削除されておらず、機能しません。mysqli*系の関数も悪いとは言えませんが、PDOを利用するのが確実です。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。09:36ご回答ありがとうございます。PDOに書き換え途中で「有無判定にcount()かな?」と思ったところでした。実際、count()の出力を確認して、冷汗をかいた次第です。ご回答ありがとうございます。PDOに書き換え途中で「有無判定にcount()かな?」と思ったところでした。実際、count()の出力を確認して、冷汗をかいた次第です。09:40SELECT結果の件数をもって何をしたいかにもよります。実行結果で判断する方法とfetchAll()で得た結果をPHPでcount()関数にて判断する方法が2つあります。SELECT結果の件数をもって何をしたいかにもよります。実行結果で判断する方法とfetchAll()で得た結果をPHPでcount()関数にて判断する方法が2つあります。09:53ありがとうございます。単純作業で、PDOに変更しようとしましたが、前後の文脈も、しっかり確認する必要がありましたね。ありがとうございます。単純作業で、PDOに変更しようとしましたが、前後の文脈も、しっかり確認する必要がありましたね。10:13そうですね。内容次第ではコードだけをリファクタリングするのではなく新しく作り直したほうが良いこともあります。mysql*系関数を利用しているということはPHP5.6とはいえ相当レガシーなシステムであると推察できますので、単純置き換えよりはPHP7をきっちり使った実装にしたほうが良いでしょう。(※時間が許されない事情もあると思いますので、そこは時間と相談してください)そうですね。新しく作り直したほうが良いこともあります。レガシーなシステムであると推察できますので、単純置き換えよりはPHP7をきっちり使った実装にしたほうが良いでしょう。編集ありがとうございます。CSRFとXSS対策も、対応準備中で、既に大がかりになっております。ありがとうございます。CSRFとXSS対策も、対応準備中で、既に大がかりになっております。10:42んーそこまでいくとフレームワークに乗せ換えたほうが良さそうですね。元々のインジェクション対策ができていないのであれば自力でなんとかするのは酷だと思います。https://qiita.com/tadsan/items/fb496e450fc27c8c4494#フレームワークを利用しろんーそこまでいくとフレームワークに乗せ換えたほうが良さそうですね。元々のインジェクション対策ができていないのであれば自力でなんとかするのは酷だと思います。13:06ありがとうございます。小規模プロジェクトに、自前のセキュリティ対策を施した事が、ありまして、その延長線上で、考えておりましたが、フレームワークで作り直した方が良さそうですね。ありがとうございます。小規模プロジェクトに、自前のセキュリティ対策を施した事が、ありまして、その延長線上で、考えておりましたが、フレームワークで作り直した方が良さそうですね。13:43学習コストとの兼ね合いで決めてください。選ぶフレームワークによっては前提となる知識や技術が高いものがあります(その分、新進気鋭で便利な機能を提供してはくれますが)学習コストとの兼ね合いで決めてください。18:52この質問に照らしたとき、fetchAllとmysql_fetch_arrayの大きな違いは、sqlの結果が0件のときに空配列を返すかfalseを返すかだと思います。count([])とcount(false)が違うからです。これから作る、ではなく既にあるコードの、既にある状態についてのレビューを求める質問に、現在のベストプラクティスの回答は合わないと思うので、デクリメントしました。この質問に照らしたとき、fetchAllとmysql_fetch_arrayの大きな違いは、sqlの結果が0件のときに空配列を返すかfalseを返すかだと思います。count([])とcount(false)が違うからです。これから作る、ではなく既にあるコードの、既にある状態についてのレビューを求める質問に、現在のベストプラクティスの回答は合わないと思うので、デクリメントしました。18:58そうですね。私の場合は質問に提示されたコードがどうかというより別の機能でやりましょうということを書いていますし。何かない限りはfetchAllのほうが扱いやすいと思います。私の場合は質問に提示されたコードがどうかというより別の機能でやりましょうということを書いていますし。何かない限りはfetchAllのほうが扱いやすいと思います。19:39皆様、ありがとうございます。「判定は、されているようだけど、配列と数値の比較ってってどうよ?」という事でしたが、$rowがSELECTの結果でしたので、上記の質問文になりました。フレームワーク活用、等々沢山の材料を頂きました。皆様、ありがとうございます。$rowがSELECTの結果でしたので、上記の質問文になりました。フレームワーク活用、等々沢山の材料を頂きました。selectedとでます。fetch_all()がエラーになります。0[php,MySQL]一覧から更新、削除へと繋げていきたいのですが、やり方がよくわかりません。頂いたご意見への回答は行っておりません。