【发布时间】:2018-02-27 16:56:42
【问题描述】:
希望你能帮上忙。我正在尝试在我的更新查询中使用 AES_ENCRYPT,但我无法让它工作。
我正在尝试加密 first_name 变量,但是当我运行查询时,它拒绝更新该字段。当我从更新查询中删除 AES_ENCRYPT 方法时,它工作得非常好。
我当前的代码如下:
if(!define('SALT')) define('SALT','4a7s3n3j93n98lk');
$sql = "UPDATE cases
SET first_name=?,
last_name=?
WHERE cases_id=?";
$query = $db->prepare($sql);
$query->execute(array(
AES_ENCRYPT('$first_name','".SALT."'),
$last_name,
$id));
$db = null;
【问题讨论】:
-
AES_ENCRYPT 不是 php 函数。
-
if(!define('SALT'))应该是if(!defined('SALT'))根据 secure.php.net/manual/en/function.defined.php from secure.php.net/manual/en/function.define.php defined() - 检查给定的命名常量是否存在。 -
抱歉 Jon 使用了错误的术语。该问题已被编辑。感谢您输入 Funk Forty Niner,我将更正定义的命名常量,看看是否有帮助。
标签: php mysql encryption aes