Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.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
Mysql 查找和替换HTML内容的SQL是什么?_Mysql_Html_Database - Fatal编程技术网

Mysql 查找和替换HTML内容的SQL是什么?

Mysql 查找和替换HTML内容的SQL是什么?,mysql,html,database,Mysql,Html,Database,所以我有一个论坛板的数据库,存储在名为forum的MySQL数据库中 在它里面,我在一个名为forum_posts的表中有一个名为post的列。我需要在post列中替换一些HTML,但它存储在其他字符(主要是文本)之间;更准确地说,论坛板对话 我必须替换这一行: <div width="95%" style="margin:8px 26px 4px 26px"><a href="javascript:void(0);" onclick="javascript:spoil(thi

所以我有一个论坛板的数据库,存储在名为forum的MySQL数据库中

在它里面,我在一个名为forum_posts的表中有一个名为post的列。我需要在post列中替换一些HTML,但它存储在其他字符(主要是文本)之间;更准确地说,论坛板对话

我必须替换这一行:

<div width="95%" style="margin:8px 26px 4px 26px"><a href="javascript:void(0);" onclick="javascript:spoil(this);"><div class='spoilertop'><b>SPOILER</b> [Show/Hide]</div></a><div style="display: none;" class="spoilermain">
<div width="95%" style="margin:8px 26px 4px 26px"><a class='spoilertop' style='display:block;'><b>SPOILER</b> [Show/Hide]</a><div class="spoilermain">
这一行:

<div width="95%" style="margin:8px 26px 4px 26px"><a href="javascript:void(0);" onclick="javascript:spoil(this);"><div class='spoilertop'><b>SPOILER</b> [Show/Hide]</div></a><div style="display: none;" class="spoilermain">
<div width="95%" style="margin:8px 26px 4px 26px"><a class='spoilertop' style='display:block;'><b>SPOILER</b> [Show/Hide]</a><div class="spoilermain">
我尝试过这种SQL及其一些变体,但它总是导致MySQL错误

SELECT * FROM `forum_posts` REPLACE(`post`, `<div width="95%" style="margin:8px 26px 4px 26px"><a href="javascript:void(0);" onclick="javascript:spoil(this);"><div class='spoilertop'><b>SPOILER</b> [Show/Hide]</div></a><div style="display: none;" class="spoilermain">`, `<div width="95%" style="margin:8px 26px 4px 26px"><a class='spoilertop' style='display:block;'><b>SPOILER</b> [Show/Hide]</a><div class="spoilermain">`)

有什么帮助吗?

正确引用字符串

请尝试以下内容:

SELECT REPLACE('post', '<div width="95%" style="margin:8px 26px 4px 26px"><a href="javascript:void(0);" onclick="javascript:spoil(this);"><div class=\'spoilertop\'><b>SPOILER</b> [Show/Hide]</div></a><div style="display: none;" class="spoilermain">', '<div width="95%" style="margin:8px 26px 4px 26px"><a class=\'spoilertop\' style=\'display:block;\'><b>SPOILER</b> [Show/Hide]</a><div class="spoilermain">') as replacedpost FROM forum_posts;

使用更新论坛\u帖子设置帖子=替换…\u其中。。。如果您想在数据库中进行更新。

如果有人需要/想查看我所做的事情,请注意:

Update forum_posts
Set    post = replace(post, '<div width="95%" style="margin:8px 26px 4px 26px"><a href="javascript:void(0);" onclick="javascript:spoil(this);"><div class=\'spoilertop\'><b>SPOILER</b> [Show/Hide]</div></a><div style="display: none;" class="spoilermain">', '<div width="95%" style="margin:8px 26px 4px 26px"><a class=\'spoilertop\' style=\'display:block;\'><b>SPOILER</b> [Show/Hide]</a><div class="spoilermain">');
WHERE  post LIKE '%<div width="95%" style="margin:8px 26px 4px 26px"><a href="javascript:void(0);" onclick="javascript:spoil(this);"><div class=\'spoilertop\'><b>SPOILER</b> [Show/Hide]</div></a><div style="display: none;" class="spoilermain">%';
这是基于:


但所有学分都归@Teez

你的问题是你的报价。。。不要在字符串上使用反勾号-因为您的字符串中有混合引号,您需要使用“`仍然会导致错误…”对其进行转义。。。它说,1064-您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,了解在“REPLACE”post、“OK”附近使用的正确语法!需要一点变通,但我成功地做到了。谢谢