- 締切済み
MYSQLから複数の情報を取得する
inputに入力されたアドレスにメールを送るプログラムです。 メールの内容はmysqlにあるmailカラムの情報と一致したレコードのbunカラムの情報を送信します。 $mail = 'aaa@gmail.com'; $dbServer = ''; $dbUser = ''; $dbPass = ''; $dbName = ''; $flag = TRUE; // MySQLデータベースに接続 if (!$link = mysql_connect($dbServer, $dbUser, $dbPass)) { $flag = FALSE; } $sql = "SELECT * FROM table_t WHERE `mail` = '$mail' LIMIT 1"; $query = mysql_query($sql, $link); $row = mysql_fetch_array($query,MYSQL_ASSOC); if ($row[key]) { // 送信する mail($mail, 'kenmei', $row[key]); } このように作ってきたのですが、mailカラムの情報を一意じゃなくして、2つ該当するレコードがあった場合、2つのkeyを1通のメールにして送りたいと考えてます。 どのように書き換えればいいでしょうか? 環境は、さくらサーバーを使用しています。 よろしくおねがいします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- yambejp
- ベストアンサー率51% (3827/7415)
いまだにmysql系の関数を使っているのはいただけませんが (せめてmysqli系にシフト、もしくはPDOで) とりあえず考え方だけ >$row = mysql_fetch_array($query,MYSQL_ASSOC); をwhileで回す。 while($row = mysql_fetch_array($query,MYSQL_ASSOC)){ mail($mail, 'kenmei', $row[key]); } むしろ、ほとんどの場合fetchしたデータは常にwhileで得る方が現実的