前提・実現したいこと
PHPでmysqlからのデータを出力したいと思っています。
memberというテーブルでカラムmailが重複してたら重複数を出力するようにしています。
これに、pre_memberというテーブルのカラムaccount(memberテーブルのmailと同じ扱いです)の重複もチェックしたいです。
さらにカラムtel(両テーブルともtelは同じカラム名)が重複しているものも探したいと思います。
前提としてデータベースに登録の時点では、重複するメールアドレスの警告はあえてしない様にしています。
理由としては、重複していると表示されるとそのアドレスが登録されているかどうかを他人に分かってしまうためです。
PHP
1$statement = $dbh->prepare('SELECT COUNT(mail) FROM member WHERE mail = :mail'); 2$statement->bindValue(':mail', $mail, PDO::PARAM_STR); 3$mail = $row['mail']; 4$statement -> execute(array(':mail' => $mail)); 5$mail_c = $statement -> fetchColumn();
上記の通り一つのテーブルでmailカラムでなら2件の重複通り2件と表示されるのですが、下記コードですと、数字の表示が無くなります。
試しているコード
php
1$statement = $dbh->prepare('SELECT COUNT(mail), COUNT(tel) FROM member, pre_member WHERE mail=:mail AND tel=:tel'); 2$statement->bindValue(':mail', $mail, PDO::PARAM_STR); 3$statement->bindValue(':tel', $tel, PDO::PARAM_STR); 4$mail = $row['mail']; 5$tel = $row['tel']; 6$statement -> execute(array(':mail' => $mail, ':tel' => $tel)); 7$mail = $statement -> fetchColumn(); 8$tel = $statement -> fetchColumn();
php
1echo "メール<br>".$mail."件<br>電話<br>".$tel."件\n";
何が間違っているのでしょうか?
また必要な情報などが足りなかった場合は申し訳ありません、追記いたします。
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/28 07:06