如何求解"Call to undefined function AES_ENCRYPT"MySQL数据数组

How to solve "Call to undefined function AES_ENCRYPT" MySQL data array

我正在尝试将 AES_ENCRYPT 添加到 Joomla 组件。

原文MySQL是这样的(没有加密):

$db = JFactory::getDbo();
// datetime
$date_publish = date('Y-m-d H:i:s');

$query = $db->getQuery(true);
// Insert columns.
$columns = array('category_name', 'category_description', 'status', 'created_date');
$values = array(
    $db->quote($name), 
    $db->quote($description), 
    $db->quote($status) , 
    $db->quote($date_publish)
);

// Prepare the insert query.
$query->insert($db->quoteName('#__group_categories'))
        ->columns($db->quoteName($columns))
        ->values(implode(',', $values));

$db->setQuery($query);
$db->execute();

我用AES_ENCRYPT修改了它:

$values = array(
    AES_ENCRYPT($db->quote($name), '12345'), 
    $db->quote($description), 
    $db->quote($status) , 
    $db->quote($date_publish)
);

但是当 运行 代码时:出现此错误:(致命错误:调用未定义函数 AES_ENCRYPT())

谁能帮帮我,谢谢...

这可能对你有帮助..

$values = array(
    "AES_ENCRYPT(".$db->quote($name).", '12345')", 
    $db->quote($description), 
    $db->quote($status) , 
    $db->quote($date_publish)
);

因为 joomla 正在考虑 AES_ENCRYPT();作为 joomla 或 php 函数,因此保留为字符串可能会解决您的问题。