无法使用PHP将日期和时间插入MYSQL数据库

时间:2016-04-23 18:43:22

标签: php mysql

我正在尝试构建一个SQL查询,该查询将在虚构的日托设施中插入儿童的登记入住时间。以下是我的查询代码的精简版本:

$childFirstName = $_POST['childFirstName'];
$childLastName = $_POST['childLastName'];

$now = new DateTime();
$nowDate = $now->format('m-d-Y');
$nowTime = $now->format('h:i');


$sql_childID = "SELECT id FROM child
                WHERE firstName = '$childFirstName'
                AND lastName = '$childLastName'";
$result = $pdo->query($sql_childID);
$row = $result->fetch();


$sql = "INSERT INTO checkinout(date, in, child_id) VALUES(?,?,?)";
    $statement = $pdo->prepare($sql);
    $statement->bindValue(1, $nowDate);
    $statement->bindValue(2, $nowTime);
    $statement->bindValue(3, $row['id']);
    $statement->execute();

checkinout表使用VARCHAR数据类型作为 date in 列。最初他们被设置为使用DATETIME,但我收到了同样的错误。

现在我收到以下错误...

enter image description here

您可以从错误消息中看到我的值以我希望的方式传递,但我不明白我的语法错误会在哪里。

1 个答案:

答案 0 :(得分:3)

用反引号括起你的字段名称。其中两个是保留字(#how to read same structure repeatedly import struct fn="foo2.bin" struct_fmt = '<iiifffffff' struct_len = struct.calcsize(struct_fmt) struct_unpack = struct.Struct(struct_fmt).unpack_from with open(fn,"wb") as file: a=struct.pack("<iiifffffff", 1,2,3, 1.1,2.2e-2,3.3e-3,4.4e-4,5.5e-5,6.6e-6,7.7e-7 ) for i in range(3): file.write(a) results = [] with open(fn, "rb") as f: while True: data = f.read(struct_len) if not data: break s = struct_unpack(data) results.append(s) print results [(1, 2, 3, 1.100000023841858, 0.02199999988079071, 0.0032999999821186066, 0.0004400000034365803, 5.500000042957254e-05, 6.599999778700294e-06, 7.699999855503847e-07), (1, 2, 3, 1.100000023841858, 0.02199999988079071, 0.0032999999821186066, 0.0004400000034365803, 5.500000042957254e-05, 6.599999778700294e-06, 7.699999855503847e-07), (1, 2, 3, 1.100000023841858, 0.02199999988079071, 0.0032999999821186066, 0.0004400000034365803, 5.500000042957254e-05, 6.599999778700294e-06, 7.699999855503847e-07)] ):

date
  

https://dev.mysql.com/doc/refman/5.5/en/keywords.html