Php 如何在mysql中删除以正则表达式开头的内容?

Php 如何在mysql中删除以正则表达式开头的内容?,php,mysql,Php,Mysql,我想改进带有挂钩的ioncube cms 我需要一个SQL查询,能够清空表中特定行中的mysql内容,但前提是相关内容以修改后的产品/服务开始-用户名从更改为 我想澄清一下: 当更改产品密码时,相关cms会使用旧/新用户密码记录日志。我想创建一个钩子来检测日志中添加的行,然后删除它。。。或者更好:如果mysql从修改过的产品/服务开始,它可以要求mysql拒绝保存某些内容。。。我假设这必须在php中完成,但我也不知道如何完成 我需要的SQL请求是什么 感谢您在这方面的帮助: DELETE FRO

我想改进带有挂钩的ioncube cms

我需要一个SQL查询,能够清空表中特定行中的mysql内容,但前提是相关内容以修改后的产品/服务开始-用户名从更改为

我想澄清一下:

当更改产品密码时,相关cms会使用旧/新用户密码记录日志。我想创建一个钩子来检测日志中添加的行,然后删除它。。。或者更好:如果mysql从修改过的产品/服务开始,它可以要求mysql拒绝保存某些内容。。。我假设这必须在php中完成,但我也不知道如何完成 我需要的SQL请求是什么

感谢您在这方面的帮助:

DELETE FROM yourTable
WHERE content LIKE 'Modified Product/Service - Username changed from to %'
这句话真的是这样说的吗?它似乎更像是从一个旧名字到另一个新名字。如果是这样,则模式的该部分应为%到%

在PHP中,可以使用以下内容防止插入行:

if (!preg_match('#^Modified Product/Service - Username changed from to#', $content)) {
    // Code here to insert the row
}

如果您想在PHP中进行限制,可以使用

<?php 
$question = $_POST['question'];
if (strpos($question,'Modified Product/Service - Username changed from to') !== false){
  //redirect to some page or exit the control
}else{
  //execute the insert Query here
}
?>

类似于从您的_表中选择*,其中的_列类似于“修改的产品/服务-用户名从%更改为%”?我是否可以要求mysql拒绝保存这些行?您无法阻止在mysql中插入,请参阅。所以,如果这是你想要的,你必须用PHP来做,就像我在回答中所说的那样。好吧,你可以用一个触发器把密码变为空白,我相信?我建议你在你的cms中寻找一种方法来改变这种不正常的功能,因为他们真的应该有办法做到这一点。我尝试了从日志表中删除,其中的内容如“修改后的产品/服务-用户名从%更改为%”…但不起作用。为什么它可能不起作用?我不知道。你能对样本数据进行处理吗?