関数が有効な結果を返すかどうかを最初に確認し、結果が有効な場合は、それをスクリプトで使用する必要があります。しかし、一度チェックしてから関数に戻ってその結果を得る代わりに、一度にすべてを行う方法はありますか? これは、$strVal
後でクエリ文字列で使用する必要がある変数です。
$conn = connect();
encrypt('HIs#$%.-','x');
decrypt('6507A27EB0521AFA0776F1A4F8033041','x');
//If the function returns a valid result,
if (encrypt('Tom','x'))
{
echo 'Success'.$strVal;//I'll use this in a querystring later.
}
else
{
echo 'An error occurred';
}
//Encrypt string
function encrypt($strToEncrypt,$salt)
{
global $conn;
$elements = $conn->prepare("select hex(aes_encrypt(:what,:salt)) as encValue");
$elements->bindParam(':what', $strToEncrypt);
$elements->bindParam(':salt', $salt);
$elements->execute();
$row = $elements->fetch();
$strVal = $row['encValue'];
if(is_null($strVal)){return false;}else{return $strVal;}
}
//Decrypt string
function decrypt($strToDecrypt,$salt)
{
global $conn;
$elements = $conn->prepare("select aes_decrypt(unhex(:what),:salt) as decValue");
$elements->bindParam(':what', $strToDecrypt);
$elements->bindParam(':salt', $salt);
$elements->execute();
$row = $elements->fetch();
if(is_null($row['decValue']))
{echo "Null";}else{echo $row['decValue'];}
}