WP数据库错误(Windows Server 2008和SQL Server)

时间:2011-02-24 作者:Jim D\'Angelo

我为我的妻子建立了一个WP网站并正在运行,她试图安装一个链接到她的Twitter帐户的文本小部件(她说HTML是从Twitter.com获取的)。我不确定她到底做了什么或发生了什么,但现在她在访问网站的/wp管理员时出现以下错误:

WordPress database error Array for query INSERT INTO `wp_options` (`option_name`, 
`option_value`, `autoload`) VALUES (\'widget_text\', \'a:2:{i:2;a:0:{}
s:12:"_multiwidget";i:1;}\', \'yes\') ON DUPLICATE KEY UPDATE `option_name` = VALUES\\
(`option_name`), `option_value` = VALUES(`option_value`), `autoload` = VALUES
(`autoload`)--SERIALIZED made by require_once, require_once, require_once, 
require_once, do_action, call_user_func_array, wp_widgets_init, do_action, 
call_user_func_array, WP_Widget_Factory->_register_widgets, WP_Widget->_register, 
WP_Widget->get_settings, wp_convert_widget_settings, update_option, add_option 
我甚至不知道这意味着什么。我正在使用SQL Server 2008在Windows Server 2008安装上运行WP。如果你需要更多的信息,我很乐意提供。我真的不知道如何从中恢复她的站点。

谢谢

编辑:这个网站已经运行了一个月了,在添加了文本小部件和推特HTML之后,刚刚崩溃了。

编辑2:我在wp\\u选项(widget\\u文本)中找到了有问题的JavaScript,并将其删除,但仍然在管理页面上收到相同的错误列表。

2 个回复
最合适的回答,由SO网友:Denis de Bernardy 整理而成

关于重复密钥更新是WP使用的几个特定于MySQL的东西之一。据我所知,SQL Server中没有等效的。除非将每个查询都发送到DB服务器,以便根据特定引擎的需要重写SQL,否则无论怎样,都会出现语法错误。

SO网友:wyrfel

打开您最喜爱的SQL前端。。。查找wp_options 桌子搜索sidebar_widgets 钥匙您将在option_value.

您可以尝试确定哪一个是有问题的恶意文本小部件,并手动将其从序列化数组中删除(这要求您能够解释/重写序列化),或者只是擦除整个option_value 领域

这将有望让您再次访问admin,然后您可以重新配置您的小部件。

编辑:第二种方法:确定。。。试试这个:寻找widget_text. 同样,您会发现一个大的序列化数组。你会发现其中有这样一种模式:a:3:{s:5:"title";s:...:".......";s:4:"text";s:...:"........" 其中每一个都是文本小部件定义的开始。找到一个看起来像推特的,然后删除text 部分(即上述模式中的第四组引号)。

结束

相关推荐

如何在WP-ADMIN的同一菜单部分创建多个帖子类型?

我正在我的网站的WordPress管理中创建一个自定义菜单部分(在左侧的主菜单部分中有一个子项的新项目)。该部分应包括一个主要的职位类型,为此,您应该能够链接类别和国家。可以使用分类法,但分类法只支持多种选择。因此,我希望能够为类别和国家创建新的帖子类型,而不是分类法。但如果我想把它放在同一个菜单区下,那就行不通了?请帮忙。