我无法让这个工作。我搜索了这个网站并找到了许多其他关于此的帖子,但似乎没有一个有效。
这是我的简单代码:
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”格式输入。我想要做的是用一系列日期填充我的数据库表。唯一发生的事情是插入了一行,它是“0000-00-00”,我怀疑这是因为我将该列设置为日期,而不是空值。当我回显结果时,一切正常,只是将其放入数据库似乎不起作用。我尝试了许多其他组合,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 Apache 2.2.22