Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Wordpress边栏小部件在更新MySQL数据库中的链接时被禁用_Php_Mysql_Wordpress - Fatal编程技术网

Php Wordpress边栏小部件在更新MySQL数据库中的链接时被禁用

Php Wordpress边栏小部件在更新MySQL数据库中的链接时被禁用,php,mysql,wordpress,Php,Mysql,Wordpress,我的wordpress边栏小部件消失了,因为我从数据库中更改了twitter链接,将以前的所有链接替换为wp\u options表下的新链接。除了链接之外,我没有做任何更改,但小部件仍然从前端消失,我做错了什么,我如何从数据库中删除它。我不确定,但我怀疑您的更新导致数据库中出现了一些无效的PHP。为了将复杂结构作为字符串存储在数据库中,在存储之前会序列化该值 例如,以下 <?php $example = array("a string", "another string");

我的wordpress边栏小部件消失了,因为我从数据库中更改了twitter链接,将以前的所有链接替换为
wp\u options
表下的新链接。除了链接之外,我没有做任何更改,但小部件仍然从前端消失,我做错了什么,我如何从数据库中删除它。

我不确定,但我怀疑您的更新导致数据库中出现了一些无效的PHP。为了将复杂结构作为字符串存储在数据库中,在存储之前会序列化该值

例如,以下

<?php
    $example = array("a string", "another string");
    echo serialize($example);
?>
它看起来与许多
wp\u选项
值类似。相关部分为“字符串”前的8。这是绳子的长度。如果在不更改该值的情况下将字符串更改为不同的长度,PHP(和WordPress)将无法取消序列化该值

比如说,

<?php
    print_r( unserialize('a:2:{i:0;s:8:"a different string";i:1;s:14:"another string";}') );
?>
我怀疑WordPress在你的更新后出现了这个错误

为了解决您的问题,我首先要反转您运行的更新,这样序列化的PHP是有效的。然后更新管理屏幕中的值


如果无法通过管理屏幕进行更新,请编写一个小型PHP程序以获取(现在正确的)序列化值,取消序列化,更改适当的值,然后再次序列化。使用序列化的结果作为
wp_options
表中的新值。

Thx的精彩解释。.我确信这将是由于没有以正确的格式正确序列化数据造成的…将改变偏移量,一旦完成,将让你知道:)Thx很多!!
<?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