У меня странное поведение при использовании PHP PDO для INSERT из запроса SELECT. Тестирование запроса непосредственно в MySQL работает хорошо, я вставляю свою строку:
INSERT INTO sessionid (enc_id, enc_pass, enc_date)
SELECT AES_ENCRYPT(username, 'aeskey'), AES_ENCRYPT(pwd, 'aeskey'),
DATE_ADD(NOW(), INTERVAL 15 SECOND) FROM users WHERE username = 'a_user_name';
Но, используя PDO, у меня есть одна строка для каждого пользователя, вставленная сразу (279 строк).... Вот PHP:
$sql_enc = '
INSERT INTO sessionid (enc_id, enc_pass, enc_date)
(SELECT AES_ENCRYPT(username, :aeskey), AES_ENCRYPT(pwd, :aeskey), DATE_ADD(NOW(), INTERVAL 15 SECOND) FROM users WHERE username = :username)
';
$res_enc = $pdo->prepare($sql_enc);
$res_enc->bindParam(':aeskey', $aeskey);
$res_enc->bindParam(':username', $username);
$res_enc->bindParam(':pwd', $username);
$res_enc->execute();
$res_enc = null;
Что мне не хватает? Я почти уверен, что это ничего, но не могу заставить его вставить эту единственную строку.
Спасибо.
Фабьен.