在PHP中得到了一个简单的形式,其中包含1个字段,必须对其进行验证,并且其字符串从两侧剥离。从字符串中,我保留某些字符,并希望匹配此剥离字符串是否在 mysql DB 中。如果它存在于数据库中,那么我将字符串输入到 DB 到另一个表,如果没有,我丢弃它。
问题是目前我输入的所有内容都由 if 语句验证为 true 并插入到数据库中。它只需要在 if 语句为真时执行插入,而不是每次都这样做。我在没有剥线的情况下让它工作,但是当我从废话中剥离绳子时,我无法让它再次工作......
这是带有字符串条的代码,它验证所有内容是否为真
...
$txt=substr($_POST[ZZ_ID],12,-1);
$test = mysql_query("SELECT ZZcode FROM ZZcodes WHERE ZZcode='$txt'");
$row = mysql_fetch_array($test);
if ($row['ZZcode']== $txt)
$sql="INSERT INTO Data
VALUES
('$_POST[ZZ_ID]','$_POST[ID]', TIMESTAMP(8))";
else
echo "ZZ code error";
echo "<br />";
echo $txt;
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
mysql_close($con)
...
这是没有字符串条的代码块,它有效:
...
$test = mysql_query("SELECT ZZcode FROM ZZcodes WHERE ZZcode='$_POST[ZZ_ID]'");
$row = mysql_fetch_array($test);
if ($row['ZZcode']== $_POST[ZZ_ID])
$sql="INSERT INTO Data
VALUES
('$_POST[ZZ_ID]','$_POST[ID]', TIMESTAMP(8))";
else
echo "ZZ koodi ei saa sisestada";
echo "<br />";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
mysql_close($con)
...
如果你想比较字符串,我建议你使用字符串比较函数,如strcmp。要了解有关strcmp的更多信息,请访问strcmp - PHP Manual。
如果两个字符串相等,此函数将返回 0。此比较区分大小写。
在设置$txt=substr($_POST[ZZ_ID],12,-1);
之前只需var_dump($_POST[ZZ_ID])
然后var_dump($txt)
.
我认为substr()
功能是你的问题!