Php 从Textarea中删除空行或空行,以避免将空行插入数据库

Php 从Textarea中删除空行或空行,以避免将空行插入数据库,php,textarea,Php,Textarea,我有一个简单的表单,有一个叫做“negwords”的文本区域。如果textarea中有数据,则每行按\n分解,然后我将这些值插入数据库中一个名为“negatives”的表中,该表只有两个字段(id,negative) 问题是,如果存在并提交了空的或空白的回车,我的数据库中会出现一条空白记录 如何避免从文本区域提交空白行或空行 <form action="insert.php" method="post"> <textarea class="" cols="110" rows="

我有一个简单的表单,有一个叫做“negwords”的文本区域。如果textarea中有数据,则每行按\n分解,然后我将这些值插入数据库中一个名为“negatives”的表中,该表只有两个字段(id,negative)

问题是,如果存在并提交了空的或空白的回车,我的数据库中会出现一条空白记录

如何避免从文本区域提交空白行或空行

<form action="insert.php" method="post">
<textarea class="" cols="110" rows="30" name="negwords"></textarea>
    <input type="submit" name="submit" value="Submit" />
    </form>    
  </div>
  <div id="results">
<?php
include 'db_connect.php';

if(isset($_POST["negwords"]))
{
  //$negative_keyword = explode("\n", $_POST["negwords"]);

  $negative_keyword = array_filter(explode("\n", trim($_POST['negwords'])));
  foreach($negative_keyword as $key => $phrase)
{
    $phrase=trim($phrase);
    $sql = "INSERT IGNORE INTO negatives (negative) VALUE ('{$phrase}')";

    mysql_query($sql);
}
}
?>

替换
mysql\u查询($sql)

if (strlen($phrase) > 0) { mysql_query($sql); }

另外,作为旁注:我强烈建议从mysql切换到mysqli,这是不推荐使用的。

您的代码容易受到SQL注入攻击。阅读更多内容:
strlen(trim($phrase))
更合适。strlen计数\r和\n所以这没有帮助。@heikkim\n和\r字符应该已经消失了。。。由于修剪@是的,没错。我没看到。这就是我不喜欢嵌套函数那么深的原因之一。当快速浏览代码时,您不会看到一些东西。