2017-02-15 88 views
0

我有我想要插入到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

是否有其他方式可以更快更容易地添加這些數據?

謝謝

回答

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表模式

+0

好了,所以其實我的自定義DB是我的老使用博客自定義腳本(由我自己做),並且已經有大約10萬個數據,我想將我的博客遷移到wp,爲什麼我需要將該數據庫添加到wp db –

+0

那麼這取決於兩個SQL數據庫是在同一臺服務器上還是在遠程位置上。如果他們在同一臺服務器上,那麼您只需使用例如2個PDO實例編寫腳本來讀取和寫入數據庫。我的建議並沒有將它綁定到WordPress代碼上,只是把它放在一邊,稍後再調試就不那麼容易混淆了 – rtgnx

相關問題