插入后的空值 - 为什么?

时间:2014-02-04 11:56:19

标签: php mysql pdo insert

我只需要另一组眼睛来看这个并告诉我,我没有生气。

我有一个简单的代码可以将记录插入数据库中的表中:

$dbh = new PDO(CONNECT, USERNAME, PASSWORD);
$sa = $dbh->prepare("insert into audit (n_slm, n_customer_id, n_contract_id, t_country, t_type, dt_tmstmp) values (:slm, :customer, :contract, :country, :type, :tmstmp)");

print_r($audit);

$dt = new DateTime();
$dt->setTimestamp($audit['timestamp'] / 1000);

$sa->execute(array(':slm'      => $audit['slm'],
                   ':customer' => $audit['customer'],
                   ':contract' => $audit['contract'],
                   ':country'  => $audit['country'],
                   ':type'     => $audit['type'],
                   ':tmstmp'   => $dt->format('Y-m-d H:i:s')));

变量$audit填充了POST值json_decode的结果,但这里无关紧要。

记录插入完全正常,但t_type字段始终为空。我添加了print_r($audit) - 这就是我得到的内容:

Array
(
    [timestamp] => 1391513053680
    [customer] => 100307
    [type] => warehouse
    [items] => Array
        (
            [0] => Array
                (
                    [quantity] => 2
                    [item] => 1024
                )

        )

    [contract] => 16
    [country] => ca
    [slm] => 20
)

显然,$audit['type']设置为warehouse - 但它不会以某种方式传递给数据库。此外,我尝试将$audit['type']替换为硬编码的warehouse - 具有相同的结果 - 该值不会保存到数据库中。谁能看到这里发生了什么?

0 个答案:

没有答案