なぜこれがうまくいかないのか分かりません。 DBの日付を更新するループは最初の行のみを更新しますか?
function query($sql) {
$this->result = @mysql_query($sql, $this->conn); return($this->result != false); }
function convert(){ $ this-> db-> open(); $ sql_update = ""; $ this-> db-> query( "SELECT * FROM ACCOUNTS"); $ str = ''; while($ row = $ this-> db-> fetchassoc()){ $ jobNum = $ row ['JOBNUMBER']; $ old_date = $ row ['INSTALLDATE']; $ new_date = date( "Y-m-d"、strtotime($ old_date)); $ sql_update = "UPDATE ACCOUNTS SET INSTALLDATE = '$ new_date' WHERE JOBNUMBER = '$ jobNum'"; $ this-> db-> query($ sql_update)またはdie($ this-> response-> throwResponseError(MSG_DATABASE_ERROR。mysql_error())); $ str。= $ jobNum。 " - " $ new_date。 "
"; }return $str; }
私はコメントアウトその行でそれを実行した場合、それは私が望むすべての結果を返します。しかし、実際に更新を実行する行のコメントを外すと、最初のレコードが更新され、ループが停止します。どうして?
ので、私は次のようになりすべてのvarsを配列にプッシュし、それぞれを実行する方が良いでしょうか?どのように私はそれを修正することができますか? – mlebrun15
完了。私は正直なところ、数時間過ごして、何が干渉しているのか分からなかった。どうもありがとうございます! – mlebrun15
'@ mlebrun15':本当に良いのは、あなたが' MySQL '側でそれをポストに示すようにしていることです。 – Quassnoi