如何解决"调用未定义的函数AES_ENCRYPT" MySQL数据阵列

时间:2015-02-10 05:56:14

标签: php mysql joomla3.0

我正在尝试将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())

有人可以帮帮我,谢谢......

1 个答案:

答案 0 :(得分:1)

这可能对你有帮助..

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

正如joomla正在考虑AES_ENCRYPT();作为joomla或php函数,所以保持字符串可以解决你的问题。