如何更新帖子的标题?

时间:2013-05-30 15:50:21

标签: wordpress tags

我正在使用phpmyadmin

在帖子的每个标题中都包含“In x”(x是1到1000范围内的数字)

示例:

 In 434 Hello everybody ----> remove "In 434" -----> Hello everybody
 In 62 Hi everybody     ----> remove "In 62" ------> Hi everybody
 In 2 I am newmember    ----> remove "in 2"  ------> I am newmember

如何使用sql查询删除“In x”?

这是我的代码

SELECT wp_posts.post_title FROM wp_posts Where wp_posts.post_status = 'publish'
$result = preg_replace('/In \d+ /','',$title);
UPDATE wp_post SET post_content = $result

但是说错误

  

“#1064 - 您的SQL语法出错;请查看手册   对应于您的MySQL服务器版本,以便使用正确的语法   在第2行'$ result = preg_replace('/ In \ d + /','',$ title)'附近“

非常感谢!抱歉我的英语不好!

1 个答案:

答案 0 :(得分:0)

您正在尝试在MySQL服务器上执行PHP代码(preg_replace()行)。这不起作用,并且MySQL的查询语言不够强大,无法执行任何模式替换,例如此类。您需要编写将运行SELECT查询的PHP代码,然后对于返回的每一行,将preg_replace()函数应用于'title'字段并运行UPDATE查询以在数据库中应用更改。

有很多很多关于如何编写与MySQL数据库交互的PHP代码的例子,但为什么不使用Wordpress API来节省大量的工作呢? get_posts()wp_update_post()是一个很好的起点; the Wordpress function reference通常也可能对您有用,尤其是“入门”部分。