首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在数据库中检查单词的出现情况?

问如何在数据库中检查单词的出现情况?
EN

Stack Overflow用户
提问于 2012-02-26 19:27:29
回答 3查看 388关注 0票数 1

我想将禁用的单词存储在数据库中,以便以后确定是否存在某些单词(因此是一个禁用的单词,应该进行审查)。

Word输入表单(ban.php):

代码语言:javascript
复制
<form name="form" method="post" action="add.php">
    <input type="text" name="bad" id="bad">
    <input type="submit" name="submit" id="submit" size="12" value="submit">
</form>

PHP代码(add.php):

代码语言:javascript
复制
<?PHP
require_once("config.php"); // db conn

$bad = $_POST['bad'];
$bad = mysql_real_escape_string($bad);
$sql = "insert into my_table set bad='$bad'";

mysql_query($sql, $conn) or die(mysql_error());
echo "Done bad word added";
?>

比方说我们禁止了ugly这个词。现在我想这样做:

代码语言:javascript
复制
<?PHP
require_once("config.php"); // db conn

$qry    = "select * from my_table";
$result = mysql_query($qry) or die($qry);
$test   = "ugly"; // Example

if ($test == any of the words in the db my_table){
    echo "banned";
}else{
    echo "passed";
{
?>

该怎么做呢?在my_table中增加了很多单词:

代码语言:javascript
复制
id,bad (1,'ugly')
id,bad (2,'sick')
id,bad (3,'manal')
id,bad (4,'fog')
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-02-26 19:37:01

您应该尝试从数据库中选择单词,这比必须遍历数组要快得多。

像这样的东西应该行得通。

代码语言:javascript
复制
<?php
require_once("config.php"); // db conn

$test = "ugly"; // remember to use mysql_real_escape_string in the implementation

$qry = "SELECT * FROM `my_table` WHERE bad='{$test}'"; // select by value
$result=mysql_query($qry);

if( mysql_num_rows( $result ) ){ // we have a row with the 'bad' word
    echo "banned";
}else{
    echo "passed";
}
?>
票数 4
EN

Stack Overflow用户

发布于 2012-02-26 19:34:14

使用不同的SQL语句

代码语言:javascript
复制
$qry = "select * from my_table where bad = '".$test."'";

而不是只测试结果是否有什么(禁止或通过)。

票数 3
EN

Stack Overflow用户

发布于 2012-02-26 19:35:43

您的插入SQL没有任何意义。您正在插入,但使用了update语法。您的查询应该是"insert into my_table values (1,‘$bad’)“;

在查找禁用单词方面,您最好通过查询来查找不好的单词:

选择count(1) from my_table where word =禁止的单词。

如果对查询运行mysql_num_rows,则任何大于0的值都表示禁止该查询。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9452685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档