2017-07-17 6 views
-3
ID MAIL KEY                                 
1.7072E [email protected] 48EF071156D86C05334D6E18A05E557129F51A6F10183AFAB14BD7581C58365D                    
1.7071E [email protected] 2445616C8C13B985ADE534B7550EA0938761BCBC7E99506E6F3D72275DA33FEC                    

Ich habe diese Tabelle in meinem db. Ich benutzeSQL-Abfrage nicht korrekt Daten ziehen

SELECT ID, MAIL, KEY FROM Table WHERE MAIL='[email protected]'; 

if($row = oci_fetch_array($parsed_sql, OCI_BOTH+OCI_RETURN_NULLS+OCI_RETURN_LOBS)) { 
      $ID = $row['ID']; 
      $key = $row['KEY'];         
      print($ID.' ->'.$key); 

diesen Ausdruck 1.7072E -> $ Eal4Ua ~ Pno = r ']

Kann mir jemand helfen verstehe, warum ich diese spezifischen Daten über den Hash in der Datenbank bekomme? Ich bin sicher, es ist aufgrund des Datentyps RAW, aber wenn ich versuche, UTL_RAW.CAST_TO_VARCHAR2 Es kommt zurück undefined var.

+0

Wenn es als RAW in Oracle gespeichert ist, haben Sie versucht, Rawtohex verwenden? – tbone

+1

Ich habe, RAWTOHEX (KEY) in meiner Auswahl hinzufügen, gibt mir immer noch die gleiche Ausgabe. –

+1

ist diese Ausgabe von SQL Developer oder von einer Terminal-basierten Sitzung von SQLPlus (cmd-line)? Viel Glück. – shellter

Antwort

1

Ändern meiner SELECT-Anweisung:

SELECT ID, MAIL, RAWTOHEX(KEY) AS KEY FROM Table WHERE MAIL=:MAIL 

gibt mir jetzt die richtige Hash-Ausgabe. Das Problem ohne Aliasing ist, warum die Variable nicht definiert war.

$key = $row['KEY']; 

ohne den Alias ​​PHP bekam nicht das richtige "Feld".

Verwandte Themen