替代检查查询字符串是否为空

时间:2014-07-09 15:13:30

标签: php forms

我只是想知道你是否有更好的方法来检查一个空字符串,这个工作但是在第一次加载表单时显示错误,(因为查询为空)。

非常简单地点击这里。

$order = "INSERT INTO sbh_itemsheet
   (shopCode, itemNumber, itemDescription)
  VALUES
('$shopCode','$itemNumber','$itemDescription')";


 $result = mysql_query($order); //order executes

 if($result)
{
 echo("
 Input data is succeed");
}
else
{
 echo("
 Input data is fail");
}

我无法弄清楚如何摆脱第一条错误信息,我真的应该在脚本的开头而不是底部开始检查,但我的大脑今天停止了工作,我想你们中的一些人可爱的人可能会提供帮助。

3 个答案:

答案 0 :(得分:1)

在处理查询之前,您需要检查变量是否存在

$result = false;
if($shopCode !="" && $itemNumber !="" && $itemDescription !="")
{
    $order = "INSERT INTO sbh_itemsheet
    (shopCode, itemNumber, itemDescription)
    VALUES
    ('$shopCode','$itemNumber','$itemDescription')";

    $result = mysql_query($order); //order executes

    if($result)
    {
        echo("Input data is succeed");
    }
    else
    {
        echo("Input data is fail");
    }
}

上面我的例子回答了你的问题。不过,我会考虑从mysql转移到mysqlipdo

答案 1 :(得分:0)

您可以在实际执行之前测试输入查询的值:

if ( $shopCode && $itemNumber && $itemDescription ){
  // Query params exist - run the query
  $order = "INSERT INTO...";
  ...
} else {
  // Query params missing - query not executed 
}

最后一点,我建议您阅读以下帖子,解释为什么使用mysql_*库是一个非常糟糕的主意Why shouldn't I use mysql_* functions in PHP?

答案 2 :(得分:0)

您可以检查它们是否已设置:

if(isset($shopCode, $itemNumber, $itemDescription)) {
    // do your stuff
}

或者如果它们是空的:

if(!empty($shopCode) && !empty($itemNumber) && !empty($itemDescription)) {
    // do your stuff
}