WHERE文の中で、MYSQLにINSERTが出来ない。
メールを指定した時間に送信しようとしています。
手順はMYSQLに送信したい時間とメールの色々を入れて、
CRONで現在時間を調べて、合致したものを送信する。
このような手順で実現しようとしていますが、
最初でつまずいています。
送信先メールアドレスを while で抽出しながら MYSQLへインサートするつもりですが
一度しかインサートしてくれません。
インサートのsqlを[print $sql;]で、表示したものをphpMyAdminで SQL を実行すると
キチンと挿入できます。
**3回分まとめてSQL を実行してもうまく挿入できます。
前のページから送ったものは全て[print] で、思い通りの結果が表示します。
どなたか、ご教授お願いいたします。
$sql = "select count(*) as cnt from customer WHERE customerID IN (1,2,3,5,8)";
$rst = mysql_query($sql, $con);
$col = mysql_fetch_array($rst);
$tcnt = $col["cnt"];
mysql_free_result($rst);
print $tcnt."通送信<br />";
$subject ="これはPOSTで送りました";
$honbun ="これはPOSTで送りました";
$from = '送信元メールアドレス';
$jikan = "これはPOSTで送りました";
$sql ="select * from customer WHERE customerID IN (1,2,3,5,8)";
$rst = mysql_query($sql, $con);
while($col = mysql_fetch_array($rst)) {
$customerID= $col['customerID'];
$name = $col['name'];
$mail = $col['mail'];
i++
$sql = "INSERT INTO mail_queue_timer (timermailID,customerID, jikan ,sender , recipient ,headers, body ) VALUES
($timermailID, $customerID,$jikan , \"$from\" , \"$mail\" ,\"$subject\" , \"$honbun\" ) ";
$rst = mysql_query($sql, $con);
}
お礼
Cerenさんありがとうございます。 初めてトランザクション処理をしたのでよくわかっていませんでした。 commitの前にrollbackを記述したところうまくいきました。 ありがとうございました。