我无法正常工作。我搜索了这个网站,发现很多关于这个的帖子,但是没有一篇似乎有效。使用mysqli插入到mysql数据库时遇到困难
这里是我的简单的代码:
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”,我怀疑这是因为我已将该列设置为Date,Not Null。当我回应结果时,一切都完美无缺,只是将它放入db似乎并不奏效。我已经试过INSERT
线包括的许多其他组合:
$sql = ("INSERT INTO `calendar` (`Cal_Date`) VALUES (`{$date}`)");
$sql = ("INSERT INTO calendar ('Cal_Date') VALUES ($date)");
$sql = ("INSERT INTO `calendar` (`Cal_Date`) VALUES (`$date`)");
$sql = $db->query("INSERT INTO `calendar` (`Cal_Date`) VALUES (`$date`)");
($ DB是db_connect.php)...我想即使其他几个。我不知道我的db_connect.php被连接到数据库,因为我已经有了:
$sql = ("SELECT * FROM calendar");
进一步下跌的页面,它的正常工作。我一直在这么做太久,我相信我只是错过了一些明显的东西。我会很感激你的反馈。
的MySQL 5.5.24 PHP 5.3.13 的Apache 2.2.22
看到这里http://www.php.net/manual/en/mysqli.quickstart.prepared-statements.php –
为什么不直接在数据库中存储的开始和结束日期,而不是在每一个日期单独的记录之间?你确定你想要这个数据结构吗? – eggyal
@eggyal是的,我确实希望这样。我正在制定员工工作计划,我需要所有日期。 –