我正在尝试将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())
有人可以帮帮我,谢谢......
答案 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函数,所以保持字符串可以解决你的问题。