【问题标题】:AES_ENCRYPT MySQL Update QueryAES_ENCRYPT MySQL 更新查询
【发布时间】: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;

【问题讨论】:

标签: php mysql encryption aes


【解决方案1】:

我设法通过以下修订解决了我的 AES_ENCRYPT 更新查询问题:

$encrypt_key = '4a7s3n3j93n98lk';

$statement = $db->prepare("UPDATE cases SET 
first_name = AES_ENCRYPT(:first_name, '$encrypt_key'), 
last_name = AES_ENCRYPT(:last_name, '$encrypt_key'), 
WHERE cases_id = :id");

$statement->bindParam(':id', $id, PDO::PARAM_INT);
$statement->bindParam(':first_name', $first_name, PDO::PARAM_STR);
$statement->bindParam(':last_name', $last_name, PDO::PARAM_STR);
$statement->execute();

$db = null;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多