言語: PHPおよびMySQL
私がやろうとしていること:誕生日の 1 週間前
の週に誕生日を祝うユーザーにメールを送信します。
事実:
birthday
日付は標準のYYYY-MM-DD日付形式で保存されます
技術的に:
'birthday'
データベースから (YYYY-MM-DD) を取得し、現在の週(年に関係なく)'birthday'
内にいるユーザーを選択します。- 結果を出力します。
私がやっていること:
すでにデータベース接続があると仮定します...
//execute the SQL query and return records
$result = mysql_query("SELECT * FROM table_birthdays WHERE strftime('%W', column_birthday) == strftime('%W', 'now')");
// debug
var_dump($result);
//fetch the data from the database
while ($row = mysql_fetch_array($result)) {
// DO SOMETHING WITH RESULTS
echo $row['column_birthday']."<br><br>" .
"Email: " . $row['column_email'];
}
//close the connection
mysql_close($dbhandle);
上記のコードに基づいて...
現在、次の結果が得られています。
var_dump()
戻り値:bool(偽)
while ループは以下を返します。
警告: mysql_fetch_array() は、パラメーター 1 がリソースであると想定しています。
質問:
私はそれを正しく行っていますか? 結果が見つかった場合、while ループは戻りませんか?
または...希望する結果を達成するために、これを別の方法でクエリする必要がありますか? (以下引用)boolean
望ましい結果:
誕生日の 1 週間前の週に誕生日を祝うユーザーにメールを送信します。