快速 mysql php 问题。
我有一个 $row['sentence']
和另一个 $row['rank']
我正在尝试写一个东西..它说..如果您在 $row['sentence']
中找到...这些特定的词..插入或更新 $row['rank']
按我指定的任何值..
例如。这句话有坏词..
所以 rank 行
..将变为 1
。
例子2。这句话很干净
所以 rank 行
将变为 5
谢谢..如果我让你感到困惑..告诉..我我会尝试另一种方式..
最佳答案
您可以创建一个表,将每个坏词作为记录,然后通过它进行解析以创建更大的 sql 语句。通过这种方式,您可以将来自数据库的任何坏词添加到坏词列表中,而不必为每个 like 子句手动输入每个词。
例如:
$some_array = array(<list of bad words retrieved from db>);
$query = "update mytable set rank = 1 where ";
foreach ($some_array as $item) {
$query .= "sentence like '%$item%'and ";
}
//remove last "and" from end of $query string
echo $query;
因此它会生成一个类似于 nickf 提供的 sql 语句,但包含一长串所有不良词。
update mytable set rank = 1 where sentence like '%bad word%' and sentence like ...
同样效率不高,但它应该在某种程度上完成您的需求。
关于php - mysql 更新行(如果存在),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3614120/