php将时隙添加到mysql中

时间:2017-01-11 03:17:41

标签: php mysql

我有以下编码,并希望将sql插入mysql,但我收到以下错误:

  

“您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以便在第1行''附近使用正确的语法** **

<?php
date_default_timezone_set('Hongkong');
include('fun.php');
$outlet="Da Da";
$officehrStr = "11:00"; // morning
$officehrEnd = "02:00"; // midnight
if (isset($_POST['confirm'])) {
    $dt1=new DateTime($officehrStr);
    $dt2=new DateTime($officehrEnd);
    $values=array();
    while ($dt1 <= $dt2) {
        $values[]="('". $outlet ."','". $dt1->format('H:i') ."')";
        $dt1->modify("+".$_POST['slot']." minute");
    }

    include('db.php');
    $sql="INSERT INTO tb_timeslot (outlet,timeslot) VALUES ". implode(',',$values);
    mysql_query($sql) or die(mysql_error());
    mysql_close($conn);

?>

3 个答案:

答案 0 :(得分:0)

如果这是SQL语法错误,我的猜测是这行的问题

$sql="INSERT INTO tb_timeslot (outlet,timeslot) VALUES ".    implode(',',$values);

尝试使用此

进行更改
$sql="INSERT INTO tb_timeslot (outlet,timeslot) VALUES (".    implode(',',$values).");";

答案 1 :(得分:0)

通过添加以下编码“$ dt2-&gt; add(new DateInterval('PT86400S'));”$ dt2 = new DateTime($ officehrEnd);和($ dt1&lt; = $ dt2){“谢谢你所有宝贵的时间

答案 2 :(得分:-1)

请查看您的sql语句。

$sql="INSERT INTO tb_timeslot (outlet,timeslot) VALUES (".    implode(',',$values).");";

您可以看到您尝试在两列(插座,时间段)中插入数据,但将值分配给1列。您必须分配2个值,如。

$sql="INSERT INTO tb_timeslot (outlet,timeslot) VALUES (".    implode(',',$values).", '$replace_variable_name');";

请使用我的声明更新您的声明,但不要忘记使用您定义的值编辑“replace_variable_name”。

希望这会对你有所帮助。