У меня есть эта проблема:
Я использую подготовленное заявление PDO ....
Я хочу привязать переменную НО, если переменная равна NULL, она должна ВСТАВИТЬ в MYSQL ЗНАЧЕНИЕ ПО УМОЛЧАНИЮ поля ...
Я пытаюсь с
IFNULL (: User_Login__Is_Active, DEFAULT),
И я попробовал также:
COALESCE (: User_Login__Is_Active, DEFAULT),
Та же ошибка:
PDOException: SQLSTATE [42000]: синтаксическая ошибка или нарушение прав доступа: 1064 В синтаксисе SQL есть ошибка;
Как ты можешь это сделать?
Посмотрите этот пример:
$stmt = $this->pdo->prepare('INSERT INTO user_login
( User_Login__ID,
User_Login__Is_Active,
User_Login__Created_Date )
VALUES (
:User_Login__ID,
IFNULL(:User_Login__Is_Active, DEFAULT),
:User_Login__Created_Date )');
$stmt->bindParam(':User_Login__ID', $this->User_Login__ID, PDO::PARAM_INT);
$stmt->bindParam(':User_Login__Is_Active', $this->User_Login__Is_Active, PDO::PARAM_STR, 100);
$stmt->bindParam(':User_Login__Created_Date', $this->User_Login__Created_Date, PDO::PARAM_STR, 100);
$this->User_Login__Is_Active = null;