添加自定义DB到WordPress

问题描述:

我有我想要插入到WP数据库自定义数据库,我的数据库结构添加自定义DB到WordPress

  • ID
  • 标题
  • 内容
  • 类别
  • 标签

该表包含约100k数据,我该如何将此数据库添加到第我尝试按照这里yoast的教程https://yoast.com/importing-from-another-mysql-into-wordpress/,但得到这个

[15-Feb-2017 19:57:35 UTC] PHP致命错误:允许内存大小268435456字节用尽(试图分配256字节) in /xxxx/formatting.php on line 1993

是否有其他方式可以更快更容易地添加这些数据?

谢谢

[15-Feb-2017 19:57:35 UTC] PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 256 bytes) in /xxxx/formatting.php on line 1993 

你得到这个错误,因为你的代码试图比PHP的内存限制设置为加载更多的数据。你可以在你的php.ini中增加php的内存限制,虽然这不是最好的解决方案,但最好是优化你的代码,因为它最有可能超过任何限制。

对于你的问题的其他部分,你可以改写它吗?特别是尽量不要混淆表和数据库,现在我只是无法弄清楚你想达到什么目的。

示例代码从一个表复制到另一个数据:

<?php 

$src = new \PDO("mysql:host=localhost;dbname=src_db", "username",  "password"); 
$dst = new \PDO("mysql:host=localhost;dbname=wp_db", "username", "password"); 


// Fetch all data 
$q = $src->query("SELECT * FROM posts"); 

// Each iteration $r becomes new row with keys as column names 
while ($r = $q->fetch(PDO::FETCH_ASSOC)) { 
    //Prepare statment 
    $sth = $dst->prepare("INSERT INTO wp_posts VALUES(?, ? ?_)"); 
    // Use params to insert values from fetched row 
    $sth->bindParam(1, $r['Title']); 

    // Write to table 
    $sth->execute(): 
} 

下面是wp_posts table表模式

+0

好了,所以其实我的自定义DB是我的老使用博客自定义脚本(由我自己做),并且已经有大约10万个数据,我想将我的博客迁移到wp,为什么我需要将该数据库添加到wp db –

+0

那么这取决于两个SQL数据库是在同一台服务器上还是在远程位置上。如果他们在同一台服务器上,那么您只需使用例如2个PDO实例编写脚本来读取和写入数据库。我的建议并没有将它绑定到WordPress代码上,只是把它放在一边,稍后再调试就不那么容易混淆了 – rtgnx