Php 从Textarea中删除空行或空行,以避免将空行插入数据库
我有一个简单的表单,有一个叫做“negwords”的文本区域。如果textarea中有数据,则每行按\n分解,然后我将这些值插入数据库中一个名为“negatives”的表中,该表只有两个字段(id,negative) 问题是,如果存在并提交了空的或空白的回车,我的数据库中会出现一条空白记录 如何避免从文本区域提交空白行或空行Php 从Textarea中删除空行或空行,以避免将空行插入数据库,php,textarea,Php,Textarea,我有一个简单的表单,有一个叫做“negwords”的文本区域。如果textarea中有数据,则每行按\n分解,然后我将这些值插入数据库中一个名为“negatives”的表中,该表只有两个字段(id,negative) 问题是,如果存在并提交了空的或空白的回车,我的数据库中会出现一条空白记录 如何避免从文本区域提交空白行或空行 <form action="insert.php" method="post"> <textarea class="" cols="110" rows="
<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字符应该已经消失了。。。由于修剪@是的,没错。我没看到。这就是我不喜欢嵌套函数那么深的原因之一。当快速浏览代码时,您不会看到一些东西。