首页 > 解决方案 > PDO 插入空而不是空?

问题描述

我无法弄清楚如何使用 PDO 插入 null 而不是空的。这是我的代码:

$pdo = new PDO("mysql:charset=utf8mb4;host=$servername;dbname=$dbname", $username, $password);

$data = [
    'firstname'         => $data['firstname'],
    'lastname'          => $data['lastname'],
    'phone'             => $data['phone'],
    'email'             => $data['email']

];

$sql = "INSERT INTO entires 
            (firstname,
            lastname,
            phone,
            email) 
VALUES      (:firstname,
            :lastname,
            :phone,
            :email)";

$stmt= $pdo->prepare($sql);

$stmt->execute($data);

如何将空值插入为 null 而不是空的?

标签: phpmysqlpdo

解决方案


You can pass null value as below.

$data = [
    'firstname'         => trim($data['firstname']) == '' ? null : $data['firstname'],
    'lastname'          => trim($data['lastname']) == '' ? null : $data['lastname'],
    'phone'             => trim($data['phone']) == '' ? null : $data['phone'],
    'email'             => trim($data['email']) == '' ? null : $data['email'],
];

推荐阅读