でMYSQL AES_ENCRYPT関数を使用すると、私のQUERY私が直接照会する場合は、ここにPDOが、間違っていると、別の文字列形式
SELECT client_id,client_name,client_db_ip,client_db_username,AES_ENCRYPT(client_db_pass, '1234') as client_db_pass,client_db_name FROM client_list WHERE client_id =:id
//は、plsはclient_db_pass今
としてAES_ENCRYPT(client_db_pass '1234')に焦点を当てていますphpMyAdminのを使用して、私はAES_ENCRYPT後client_db_passに対する結果などを取得します:
501defc4013f3f21529c123f33c065ad
をしかし、IAMは、データをフェッチするためにPDOを使用するときに問題が来る、
$Q = "SELECT client_id,client_name,client_db_ip,client_db_username,AES_ENCRYPT(client_db_pass, '1234') as client_db_pass,client_db_name FROM client_list WHERE client_id =:id";
$R = $this->pdo->prepare($Q);
$R->bindParam(':id', $id);
$R->execute();
$result = $R->fetch(PDO::FETCH_ASSOC);
私はこの結果を得るでしょう
($結果)のvar_dump場合:
array (size=6)
'client_id' => string '1' (length=1)
'client_name' => string 'tester' (length=4)
'client_db_ip' => string '127.0.0.2' (length=9)
'client_db_username' => string 'root' (length=4)
'client_db_pass' => string 'PïÄ??!Rœ?3Àe' (length=16)
'client_db_name' => string 'test_user' (length=9)
あなたは 'client_db_pass' という文字列の配列が
result 2 = PïÄ??!Rœ?3Àe
ない
で見ることができますresult 1 = 501defc4013f3f21529c123f33c065ad
私は結果を得る方法を知っているかもしれない1 "501defc4013f3f21529c123f33c065ad" pdoを使っているのですか?
おかげ