Mysql 从Joomla中的resultset生成insert语句
在Joomla2.5和3.0中,我能够以数组的形式获取数据库结果集。是否可以将此数组转换为sql insert语句或.sql文件,以便将其插入另一个数据库中具有相同结构的另一个表中?可以,请检查下面的代码。您可以使用Joomla核心函数来完成这项工作 首先,按如下方式初始化数据集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
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语句”。不要介意。让我调查一下你的问题