我正在为客户开发项目,我需要将2个Drupal和1个WordPress安装迁移到1个单独的WordPress CMS中。我必须保持完全相同的URL,并确保新网站与当前的混乱几乎相同。
我已经在下面提出了这个SQL查询的怪物,以提取所有Drupal帖子以便插入到WordPress中。
我现在的问题是,下面的查询中有2个名为title
的MySQL表列....
SELECT n.nid, n.uid, FROM_UNIXTIME( n.created ) created, FROM_UNIXTIME( n.changed ) modified, n.TYPE, n.status, n.title, r.teaser, r.body, u.dst url, m.path, m.title, m.description, m.keywords
FROM drupal_node n
LEFT JOIN drupal_node_revisions r ON n.nid = r.nid
LEFT JOIN drupal_url_alias u ON CONCAT( 'node/', n.nid ) = u.src
LEFT JOIN drupal_simplemeta_data m ON CONCAT( 'node/', n.nid ) = m.path
WHERE n.TYPE
IN (
'blog', 'story', 'page', 'forum', 'largeimage', 'error'
)
因此,当我查看结果时,这会导致问题,因为我的title
结果将只是第一列。
有没有办法根据我的结果重命名它?还是其他一些技巧?
var_export()
显示它只暴露1 title
我使用PHP和类似的东西来返回一个PDO对象......
$result = $stmt->fetchAll(PDO::FETCH_OBJ);
foreach($result as $row) {
echo $row->title;
}
答案 0 :(得分:2)
我认为您可以使用AS
为变量添加新名称
SELECT n.nid, n.uid, FROM_UNIXTIME( n.created ) created, FROM_UNIXTIME( n.changed ) modified, n.TYPE, n.status, n.title AS mastertitle, r.teaser, r.body, u.dst url, m.path, m.title AS slavetitle, m.description, m.keywords
现在你可以单独打电话了
echo $row->mastertitle;
echo $row->slavetitle;