sentencias preparadas param_str consultas bind_param insert default-value dbo sqlbindparameter

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;