【发布时间】:2013-10-03 05:01:15
【问题描述】:
我编写了一个 SQL 例程,将用户的输入与表中的现有值进行比较。如果该值存在,则输入旁边会出现一个绿色复选标记。如果没有,则会出现一个红色的 x。我的SQL语句如下:
$check = $con->prepare("SELECT count(*) FROM emaillist");
$check->execute();
$result = $check->fetchColumn(); //Get no. of columns
$check = $con->prepare("SELECT Username FROM emaillist WHERE Username =
'$Name' AND '$Name' <> '' ");
$check->execute();
$result = $check->fetchColumn(); //Get exact column
if(!$result) {
show red x } else { show green check }
只要有输入就可以正常工作。输入不匹配时出现红色 x,匹配时出现绿色检查;但是,如果该字段留空,我不希望 anything 显示。现在,如果该字段为空或为空,则会出现红色 x。使用 IS NOT NULL 也不起作用。我错过了什么?
【问题讨论】:
-
如果 $Name 来自用户输入,那么我认为最好独立于 SQL 查询检查其有效性,而不是将其放入查询本身。