4

言語: 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 週間前の週に誕生日を祝うユーザーにメールを送信します。

4

4 に答える 4