我想知道你们中是否有人可以帮助我。我加密字段并将其写入数据库没有任何问题。例如:
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php echo do_shortcode("[gravityform id='1' title='true' description='true']"); ?>
<?php endwhile; else : ?>
试图再次出来时问题出现了:
$query= mysqli_query($mysqli,"INSERT INTO users (surname) VALUES (AES_ENCRYPT('Blenkinsop','mypassword'))");
我尝试了很多变体,包括echo $ row ['surname']
错误给出的是:“Undefined index:surname in line ...”,该行引用行:[$ row ['surname']]。
但是,在错误屏幕的底部显示:
$query = mysqli_query($mysqli,"SELECT AES_DECRYPT(surname,'mypassword') FROM users WHERE userID = 1");
while($row = $query->fetch_assoc()){
[$row['surname']]; }
echo $row[0];
解密正常;我找不到正确的语法来解决它。
如果我只是在没有解密的情况下运行查询,它运行正常且没有错误,并回显仍然加密的名称:
$row = array (size=1)
'AES_DECRYPT(surname,'mypassword')' => string 'Blenkinsop' (length=10)
非常感谢任何帮助。
非常感谢
史蒂夫莫斯答案 0 :(得分:-1)
列类型surname
= varbinary(50)
$query = mysqli_query($mysqli, "SELECT *, CAST(AES_DECRYPT(surname,'mypassword') AS CHAR(50)) surname FROM users WHERE userID = 1");