Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 从Joomla中的resultset生成insert语句_Mysql_Joomla - Fatal编程技术网

Mysql 从Joomla中的resultset生成insert语句

Mysql 从Joomla中的resultset生成insert语句,mysql,joomla,Mysql,Joomla,在Joomla2.5和3.0中,我能够以数组的形式获取数据库结果集。是否可以将此数组转换为sql insert语句或.sql文件,以便将其插入另一个数据库中具有相同结构的另一个表中?可以,请检查下面的代码。您可以使用Joomla核心函数来完成这项工作 首先,按如下方式初始化数据集 function initializesData() { $this->_data->id = 0; $this->_data->field

在Joomla2.5和3.0中,我能够以数组的形式获取数据库结果集。是否可以将此数组转换为sql insert语句或.sql文件,以便将其插入另一个数据库中具有相同结构的另一个表中?

可以,请检查下面的代码。您可以使用Joomla核心函数来完成这项工作

首先,按如下方式初始化数据集

function initializesData()
    {
        $this->_data->id        = 0;
        $this->_data->field1    = '';        
        $this->_data->field2    = '';
        $this->_data->field3    = 1;

        return $this->_data;
    }
function &getOne($id='')
    {
        $db =& JFactory::getDBO();       
        $query  = $db->getQuery(true);
        $query->select('*');
        $query->from($db->nameQuote(TABLE_PREFIX.'table_name'));
        $query->where($db->nameQuote('id').'='.$db->Quote($id));       
        $db->setQuery($query);      
        $this->_data = $db->loadObject();

        if ($this->_data)
        {      
            return $this->_data;
        }

    }
然后将该行加载到数据集中,如下所示

function initializesData()
    {
        $this->_data->id        = 0;
        $this->_data->field1    = '';        
        $this->_data->field2    = '';
        $this->_data->field3    = 1;

        return $this->_data;
    }
function &getOne($id='')
    {
        $db =& JFactory::getDBO();       
        $query  = $db->getQuery(true);
        $query->select('*');
        $query->from($db->nameQuote(TABLE_PREFIX.'table_name'));
        $query->where($db->nameQuote('id').'='.$db->Quote($id));       
        $db->setQuery($query);      
        $this->_data = $db->loadObject();

        if ($this->_data)
        {      
            return $this->_data;
        }

    }
然后使用Joomla表插入行

 function store()
    {  
       //Get post data 
       $this->_data = $this->getOne($id);


       $row = &$this->getTable('table_name');


       if (!$row->bind($this->_data))
       {
          $this->setError($this->_db->getErrorMsg());          
          return false;
       } 


       if (!$row->check())
       {         
         $this->setError($this->_db->getErrorMsg());
         return false;
       } 


       if (!$row->store())
       {
         $this->setError($this->_db->getErrorMsg());
         return false;
       }      
       $new_id = $this->_db->insertId();

       if($new_id > 0)
            $this->_data->id = $new_id;

       return true;
    }

所有上述功能都在模型中。希望您能在控制器中管理函数调用。如果要执行多个插入,请循环函数调用。如果您有任何问题,请告诉我

您是否可以提供一个用于从数据库中获取结果的代码示例。将有助于获得更具体的答案;)您可以使用文件来编写数组内容,该数组内容应该包含正确的查询格式。谢谢,我有下面答案中提供的类似代码。我想将_数据导出为joomla中的.sql文件,以便通过电子邮件将其发送给目标数据库的管理员谢谢。要求将_数据作为insert语句导出到.sql文件中。我需要将其作为.sql文件提供,因为我没有访问目标数据库的权限。在问题中,它说“是否可以将此数组转换为sql insert语句”。不要介意。让我调查一下你的问题