preparadas - La declaración preparada de pdo inserta DEFAULT cuando la variable en BindParam es nula
prepare php (1)
La palabra clave DEFAULT
no se puede usar dentro de una expresión, solo puede reemplazar la expresión completa.
Sin embargo, la función DEFAULT()
se puede usar en cualquier lugar.
Reemplace DEFAULT
en su ejemplo con DEFAULT(User_Login__Is_Active)
.
Tengo este problema: estoy usando declaración preparada PDO .... Quiero VINCULAR una variable, PERO si la variable es NULL, tiene que INSERTAR en MYSQL el VALOR PREDETERMINADO del campo ...
Estoy intentando con IFNULL (: User_Login__Is_Active, DEFAULT), Y lo intenté también: COALESCE (: User_Login__Is_Active, DEFAULT), Mismo error: PDOException: SQLSTATE [42000]: Error de sintaxis o violación de acceso: 1064 Tiene un error en su SQL sintaxis;
Como puedes hacer eso?
Mira este ejemplo:
$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;