使用joomla插件,我试图从“ #__users”表中获取一些用户信息,并在创建用户时将其插入另一个表“ #__new_table”中。
代码如下
function onUserAfterSave( $user, $isnew, $success, $msg ) {
if ($isnew && $success) {
$db = &JFactory::getDBO();
$db->setQuery( 'INSERT INTO #__new_table (user_id) VALUES ('.$user['id'].')' );
$db->query();
}
}
上面的作品和'id'被复制到新表,并显示在'user_id'行中。但是,如果我尝试以下操作:
function onUserAfterSave( $user, $isnew, $success, $msg ) {
if ($isnew && $success) {
$db = &JFactory::getDBO();
$db->setQuery( 'INSERT INTO #__new_table (name) VALUES ('.$user['username'].')' );
$db->query();
}
}
然后,即使两个表中都存在“名称”和“用户名”字段,此操作也不起作用。
是否有更好的方法为joomla 2.5编写此函数。同样在以上示例中,我一次只获取一个值。如果我试图一次从“ #__users”获取一些值以插入到“ #__new_table”中的几个字段中,那么我将如何更改上述功能。
谢谢。
最佳答案
您应该quote
用户名值。
function onUserAfterSave( $user, $isnew, $success, $msg ) {
if ($isnew && $success) {
$db = &JFactory::getDBO();
$db->setQuery( 'INSERT INTO #__new_table (name) VALUES ('.$db->quote($user['username']).')' );
$db->query();
}
}
关于mysql - joomla 2.5查询从一个表中选择插入另一个,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28573315/