2017-09-12 29 views
0

我有一个Wordpress高级主题和MySQL数据库的问题。在数据库框中的值如下:编辑DB值后在活动网站上的值消失

a:1{i:0;a:4{s:4:"name";s:9:"Trailer";s:6:"select";s:6:"iframe";s:6:"idioma";s:2:"en";s:3:"url";s:82:"https://youtube.com/sample.mp4 
";}} 

当我编辑的YouTube链接值别的东西,在此框中整个数据对应的实时WordPress的页面上消失,虽然它在即使在数据库可见刷新。我不知道为什么会发生这种情况,以及如何防止它发生。

编辑: 当我试着编辑像post_title等其他值,它只是不会更新在活页面上的所有值。为什么我这样做是因为我需要添加和编辑大量的数据容易与脚本。

+0

你确定你可以设置直接在WordPress管理不玩?这会更安全。 – Salketer

+0

问题是我需要编辑和插入质量数据。 – murdock477

回答

0

您显示的字符串来自PHP序列化。这是PHP来字符串化的任何值供以后使用的方式。

如果您想批量修改这些值,最好的办法是创建一个PHP脚本来获取数据,将其反序列化,直接对其创建的PHP变量进行更改,然后再次序列化以存入数据库。

如果你想直接玩字符串,你需要确保你很小心。

更改YouTube视频网址不起作用的主要原因是您可能没有更改字符串声明。

s:82:"https://youtube.com/sample.mp4"; 

这是无效的。它被分成3部分,使用:。类型:长度:值。所以它是一个长度为82的字符串,但你提供了一个30个字符的字符串。

如果你在PHP中打开NOTICE,你一定会看到有关它的错误。

编辑:

上PHPFiddle.org摆弄了一下后,我想出了从你给的一个,它有许多缺陷干净串...

a:1:{i:0;a:4:{s:4:"name";s:7:"Trailer";s:6:"select";s:6:"iframe";s:6:"idioma";s:2:"en";s:3:"url";s:30:"https://youtube.com/sample.mp4";}} 

注意,我改变了两个部分的长度值,并增加了2个分号:

+0

好了,现在的工作!似乎问题出在我输入的链接长度不正确。谢谢!编辑:其实,我得到它的工作之前,我看到了由量变到质变的lenght更新的回复,但你的方式似乎工作过! – murdock477