Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何为查找字段指定加密字段?_Php - Fatal编程技术网

Php 如何为查找字段指定加密字段?

Php 如何为查找字段指定加密字段?,php,Php,我在mysql中有“first_name”和“last_name”加密字段。我想从下拉列表中的“全名”字段中选择表单中的这两个字段。我使用CONCATENATE()连接这两个字段,但它在查找列表中显示加密值,而不是实际值。我有控制查找字段的脚本,如下所示: $lookupIndexes = GetLookupFieldsIndexes($gSettings, $lookupField); $linkFieldIndex = $lookupIndexes["linkFieldIndex"]; $

我在mysql中有“first_name”和“last_name”加密字段。我想从下拉列表中的“全名”字段中选择表单中的这两个字段。我使用CONCATENATE()连接这两个字段,但它在查找列表中显示加密值,而不是实际值。我有控制查找字段的脚本,如下所示:

$lookupIndexes = GetLookupFieldsIndexes($gSettings, $lookupField);
$linkFieldIndex = $lookupIndexes["linkFieldIndex"]; 
$displayFieldIndex= $lookupIndexes["displayFieldIndex"]; 
$rs = db_query($LookupSQL,$conn);
while ($data = db_fetch_numarray($rs))
{   
    if($LookupType == LT_QUERY && $gSettings->isLookupUnique($f))
    {
        if(!isset($uniqueArray))
            $uniqueArray = array();

        if(in_array($data[$displayFieldIndex],$uniqueArray))
            continue;       

        $uniqueArray[] = $data[$displayFieldIndex];     
    }

    $data[$linkFieldIndex] = $cipherer->DecryptField($f, $data[$linkFieldIndex]);   

    if($LookupType == LT_QUERY)
             $data[$displayFieldIndex] = $cipherer->DecryptField($displayFieldName, $data[$displayFieldIndex]);

    $response[] = $data[$linkFieldIndex];
    $response[] = $data[$displayFieldIndex]; 
}
LinkfieldIndex
用于查找参考表的id字段和
displayFieldIndex
其中我喜欢使用lookupSQL来concat(first_name',last_name)作为全名。我相信在concat()之前,我必须解密每个字段,但我不知道应该在哪里进行解密


“Cipherer”是控制加密功能的php页面。谁能帮我调整一下代码,让我的concat()sql显示解密后的值

您的密码php页面是否需要连接的名称。弗林斯通。它是期望Fred还是期望Fred Flinstone,就像假设两个字段都加密一样,您必须单独解密,因为连接的结果将分别不同于名字/姓氏。我没有看到像Fred或Fred Flinstone这样的词。但是对于SQL表达式retrieve,它有如下内容:函数GetEncryptedFieldName($field,$alias=null,$addAs=false){$result=“”;$result=“cast(DES_DECRYPT(unhex(%s),'%s')as char)”;if($result==”)返回$field;$result=mysprintf($result,array($field,$this->key));返回$addAs?$result。“as”.AddFieldWrappers($alias!=null?$alias:$field):$result;}很抱歉我误解了你的问题。不,我的密文页面只需要一个名称,而不是连接的名称。这就是我需要调整的问题。谢谢