4
我有这个问题: 我正在使用PDO准备语句.... 我想绑定一个变量但如果变量为NULL它必须插入MYSQL的字段默认值...pdo准备语句插入DEFAULT当BindParam中的变量为空
我试图用 IFNULL(:User_Login__Is_Active,默认值), 我也试过: COALESCE(:User_Login__Is_Active,默认值), 同样的错误: 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;
漂亮...谢谢.. :) – Samuele 2011-02-27 14:27:59