[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