添加自定义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表模式
好了,所以其实我的自定义DB是我的老使用博客自定义脚本(由我自己做),并且已经有大约10万个数据,我想将我的博客迁移到wp,为什么我需要将该数据库添加到wp db –
那么这取决于两个SQL数据库是在同一台服务器上还是在远程位置上。如果他们在同一台服务器上,那么您只需使用例如2个PDO实例编写脚本来读取和写入数据库。我的建议并没有将它绑定到WordPress代码上,只是把它放在一边,稍后再调试就不那么容易混淆了 – rtgnx