これを機能させるのに問題があります。私はこのサイトを検索し、これに関する他の多くの投稿を見つけましたが、どれも機能していないようです.
これが私の簡単なコードです:
if (isset($_POST['submit']))
{
$startDate = strtotime($_POST['from']);
$endDate = strtotime($_POST['to']);
for($i = $startDate; $i <= $endDate; $i = strtotime('+1 day', $i))
{
$date = date('Y-m-d',$i);
//echo $date . "<br>";
$sql = ("INSERT INTO `calendar` (`Cal_Date`) VALUES (`$date`)");
}
if(!$result = $db->query($sql))
{
die('There was an error running the query [' . $db->error . ']');
}
}
フォームはシンプルで、日付は「YYYY-MM-DD」形式で入力されます。私がやろうとしているのは、データベース テーブルに日付の範囲を設定することです。発生する唯一のことは、1行が挿入され、それが「0000-00-00」であることです。これは、その列がNullではなくDateに設定されているためだと思われます。結果をエコーすると、すべてが完全に機能します。データベースに取得するだけではうまくいかないようです。私は次のようなINSERT
ラインの他の多くの組み合わせを試しました:
$sql = $db->query("INSERT INTO `calendar` (`Cal_Date`) VALUES (`$date`)");
($db は db_connect.php からのものです)
$sql = ("INSERT INTO `calendar` (`Cal_Date`) VALUES (`{$date}`)");
$sql = ("INSERT INTO calendar ('Cal_Date') VALUES ($date)");
$sql = ("INSERT INTO `calendar` (`Cal_Date`) VALUES (`$date`)");
...そして、他にもいくつかあると思います。私が持っているように、私のdb_connect.phpがデータベースに接続していることは知っています:
$sql = ("SELECT * FROM calendar");
ページのさらに下にあり、正常に機能しています。私はこれにあまりにも長い間取り組んできましたが、明らかな何かが欠けているだけだと確信しています。フィードバックをいただければ幸いです。
mySQL 5.5.24 PHP 5.3.13 アパッチ 2.2.22