0
我的WordPress側邊欄小工具,當我改變了從數據庫中替換下wp_options
表都用新的上一個鏈接的Twitter的鏈接消失更新鏈接無效。我並沒有改變上述鏈接等,但仍是小部件獲得從正面消失了,我做錯了什麼,我怎麼從它無法在數據庫爲好。WordPress的側邊欄小工具大幹快上的MySQL數據庫
我的WordPress側邊欄小工具,當我改變了從數據庫中替換下wp_options
表都用新的上一個鏈接的Twitter的鏈接消失更新鏈接無效。我並沒有改變上述鏈接等,但仍是小部件獲得從正面消失了,我做錯了什麼,我怎麼從它無法在數據庫爲好。WordPress的側邊欄小工具大幹快上的MySQL數據庫
我不能肯定,但我懷疑你的更新導致數據庫中的某些無效的PHP。爲了將複雜結構作爲字符串存儲在數據庫中,該值在存儲之前被序列化。
例如,以下
<?php
$example = array("a string", "another string");
echo serialize($example);
?>
輸出
a:2:{i:0;s:8:"a string";i:1;s:14:"another string";}
哪個類似於許多wp_options
值。相關部分是「一串」之前的8。這是字符串的長度。如果您在不更改該值的情況下將字符串更改爲其他長度,PHP(和WordPress)將無法反序列化該值。
例如,
<?php
print_r(unserialize('a:2:{i:0;s:8:"a different string";i:1;s:14:"another string";}'));
?>
結果
Notice: unserialize(): Error at offset 22 of 61 bytes in D:\tmp\so.php on line 11
我懷疑的WordPress貴更新後打的錯誤。
解決您的問題,那麼,我會通過反向運行了更新開始,所以系列化PHP是有效的。然後更新管理屏幕中的值。
如果通過管理界面更新是不可能的,寫一個小PHP程序走(現在是正確的)序列化值,反序列化它,改變相應的值,並重新序列化。使用序列化結果作爲wp_options
表中的新值。
THX爲妙explanation..i我肯定這將是無法正確序列化的正確格式數據的結果......會不會改變偏移量和做一次就會讓你知道:) THX很多! – swapnesh 2012-03-23 04:20:23