質問: '".$_SESSION["pw"]."'"); 上のようにSESSIONを使用してデータの照合を行っています。 $sqlを条件分岐の判定に使用したいのですが if($sql){header('Location:kounyuu_2.php');}else{header('Location:kounyuu_error.php');} SELECT命令で値(行数)をきちんと抽出できた場合に条件分岐します。という風にするにはどのように上の命令文を変えればよろしいでしょうか? 大変お手数をおかけしますが分かるかたおりましたらご回答よろしくお願いいたします。
回答: こちらでいかがでしょうか? ``` $result=mysql_query("SELECT * FROM ID_PW WHERE ID='".$_SESSION["id"]."' and PW = '".$_SESSION["pw"]."'"); //エラーが発生していないか確認 if ($result) { //行を取得 $row = mysql_fetch_assoc($result); //行が取得できたか確認 if ($row){ //行が取得できた! } } ``` また、SQLインジェクション対策として、SQLにセットするパラメータは適宜 mysql_real_escape_string 等でサニタイズしてくださいね。 http://phpspot.net/php/man/php/function.mysql-real-escape-string... それと、気になったのは、ログインの処理って、普通はリクエストのパラメータで判断するんじゃないんですか? ログイン前に、ユーザIDのパスワードがセッション変数に入っちゃってるんでしょうか。