使用 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();
}
}
那么即使两个表中都存在字段“name”和“username”,这也不起作用。
有没有更好的方法为 joomla 2.5 编写这个函数。同样在上面的示例中,我一次只获取一个值。如果我试图一次从“#__users”获取一些值以插入“#__new_table”中的几个字段..我将如何更改上述函数。
谢谢。
最佳答案
您应该引用
用户名值。
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/