SELECTクエリのINSERTにPHP PDOを使用すると異常な動作が発生します。 MySQLの中で直接クエリをテストすることがうまく機能し、私は私の行が挿入され得る:PDOを使用したSELECTからのMySQL INSERT
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行)に挿入されたユーザーごとに1つの行を持っている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;
私には何が欠けていますか?私はそれが何もないと確信していますが、その単一の行を挿入することはできません。
ありがとうございます。
fabien。
待機...私はここに貼り付けたばかげたエラー:bindParamを見つけました。 $ usernameはusernameと:pwdの両方に割り当てられます。申し訳ありません、質問のために、あなたの返信にペッカに感謝します。 – feub
ああ、十分に公正な - 私はクエリを誤解しました。 –