使用PDO将日期插入表中

时间:2014-07-07 16:01:26

标签: php pdo

我有一个PDO插入语句没有插入信息,我不知道为什么。以下是我的发言:

   $log = $conn->prepare("insert into log_activity (user, event, date) values(:who, :event, :date)");
   $log->bindParam(":who", $name, PDO::PARAM_INT);
   $log->bindParam(":event", $event, PDO::PARAM_STR);
   $log->bindParam(":date", $date, PDO::PARAM_STR);
   $log->execute();

我使用类似的(只是没有日期)进行完美的注册。以下是值:

    $name = $_POST['name'];
    $event = $_POST['thing'];
    $date = $_POST['date'];

我知道那里有值,我没有抛出错误陈述。我已经尝试删除日期,认为它可能是问题,但它仍然无效。我确信我只是遗漏了一些简单的东西,但无法找到它。

由于

2 个答案:

答案 0 :(得分:1)

@Jim $name的确属于INT类型?

您可以将其留给PDO来确定您知道的类型,您不必明确

$log = $conn->prepare("insert into log_activity (user, event, date) values(:who, :event, :date)");
$log->bindParam(":who", $name);
$log->bindParam(":event", $event);
$log->bindParam(":date", $date);
$log->execute();

或者只是不要绑定:

$log = $conn->prepare("insert into log_activity (user, event, date) values(:who, :event, :date)");
$log->execute(array(':who'=>$name, ':event' => $event, ':date'=> $date));

确保您的连接设置为抛出错误:

$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

答案 1 :(得分:0)

,之后的第一行中缺少:event。也许这就是问题所在。