Folgendes funktioniert bei mir:
<?php
$pdo = new PDO("mysql:host=localhost;dbname=test", "root", "pass");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$stmt = $pdo->prepare("INSERT INTO `null_test` (`can_be_null`) VALUES (:null)");
$stmt->bindValue(":null", null, PDO::PARAM_NULL);
$stmt->execute();
Übergeben Sie null
von PHP , mit dem Typ PDO::PARAM_NULL
. Stellen Sie außerdem sicher, dass Ihre Vorbereitungsemulation auf "false" gesetzt ist. Das könnte helfen.