mysql - joomla 2.5查询从一个表中选择插入到另一个表中

标签 mysql joomla

使用 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/

相关文章:

php - 更新 PHP 中的查询问题

php - 连接多个表时,Ajax 不调用 php 查询

php - Joomla 3 配置值

joomla - 在 Joomla 2.5 中卸载 SEO Boss 扩展时出现问题

mysql - Joomla jos_session 表崩溃

php - MySQL Count 发生某事的计数

php - mySQL 输出到 XML 错误

MySQL : search string by first alphabetic letter

mysql - 将数据库从一个用户迁移/复制到另一个用户

redirect - 如何使特定网页无法访问,除了那些通过重定向到达那里的人