SQL查询没有正确提取数据

时间:2017-07-17 19:20:10

标签: php oracle

ID MAIL KEY                                                                                                                                  
1.7072E arnold.palmer@golf.com 48EF071156D86C05334D6E18A05E557129F51A6F10183AFAB14BD7581C58365D                                                                            
1.7071E arnold.dailey@golf.com 2445616C8C13B985ADE534B7550EA0938761BCBC7E99506E6F3D72275DA33FEC                                                                            

我的数据库中有这个表。我用

SELECT ID, MAIL, KEY FROM Table WHERE MAIL='arnold.palmer@golf.com';

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

此打印输出1.7072E - > $Eal 4 U a ~ Pno= r'] ?

任何人都可以帮助我理解为什么我通过数据库中的哈希获取特定数据? 我确定这是由于数据类型是RAW,但是当我尝试UTL_RAW.CAST_TO_VARCHAR2它返回undefined var。

1 个答案:

答案 0 :(得分:1)

将我的SELECT语句更改为:

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

现在给我正确的哈希输出。没有别名的问题是变量未定义的原因。

$key = $row['KEY'];

没有别名PHP没有得到正确的“字段”。