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