我有一个简单的表单,其中有一个名为"negwords"的文本区域。如果文本区域中有数据,每行都会被分解,然后我取这些值并将它们插入数据库中一个名为"negative"的表中,该表只有两个字段(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_query($sql);
if (strlen($phrase) > 0) { mysql_query($sql); }
此外,作为一个附带说明:我强烈建议从mysql切换到mysqli,这是不推荐的。