将自定义DB添加到wordpress

时间:2017-02-15 20:38:52

标签: php mysqli

我有自定义数据库,我想插入WP数据库,我的数据库结构是

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

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

[2017年2月15日19:57:35 UTC] PHP致命错误:在1993年的/xxxx/formatting.php中,允许的内存大小为268435456字节(试图分配256个字节)

还有其他方法可以更快更轻松地添加这些数据吗?

谢谢

1 个答案:

答案 0 :(得分:0)

[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

的表格架构