Php 如何为查找字段指定加密字段?
我在mysql中有“first_name”和“last_name”加密字段。我想从下拉列表中的“全名”字段中选择表单中的这两个字段。我使用CONCATENATE()连接这两个字段,但它在查找列表中显示加密值,而不是实际值。我有控制查找字段的脚本,如下所示:Php 如何为查找字段指定加密字段?,php,Php,我在mysql中有“first_name”和“last_name”加密字段。我想从下拉列表中的“全名”字段中选择表单中的这两个字段。我使用CONCATENATE()连接这两个字段,但它在查找列表中显示加密值,而不是实际值。我有控制查找字段的脚本,如下所示: $lookupIndexes = GetLookupFieldsIndexes($gSettings, $lookupField); $linkFieldIndex = $lookupIndexes["linkFieldIndex"]; $
$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;}很抱歉我误解了你的问题。不,我的密文页面只需要一个名称,而不是连接的名称。这就是我需要调整的问题。谢谢