我试图从文本框中插入一个值到SQL表中.虽然当我将文本框留空时,它会添加一个空白值,然后导致其余的表单函数无效.
我希望if语句检查$ animal是否为空,什么都不做,如果$ animal中有内容,则执行插入表.
不太确定放在哪里放什么???
if ($animal = " ") {
} else if ($animal = "???"){
insertTable("INSERT INTO $table(name) VALUE ('".$animal."')");
Run Code Online (Sandbox Code Playgroud)
24 - 27行是这个
sub insertTable {
$statement = shift (@_);
$dbh->do($statement);
} # sub
Run Code Online (Sandbox Code Playgroud)
Perl使用标量变量,这是一个非常通用的小东西.他们遇到的一个问题是他们的"真实性"并不总是显而易见的.
如果使用布尔测试测试标量,则在以下情况下将为false:
(如果未定义或没有元素,则数组测试为false ).
所以正确的答案是 - 用于defined
检查值是否已定义.或者使用正则表达式来匹配"有效"值.
例如
if ( $animal =~ m/\w+/ ) {
#do something
}
Run Code Online (Sandbox Code Playgroud)
\w+
是用于表示'一个或多个单词字符'的perl正则表达式,它是字母数字和下划线.因此,您的空字符串,仅空格字符串或未定义的字符串都将与此模式不匹配.