使用php防止插入查询

时间:2016-11-11 10:14:46

标签: php mysql arrays insert

我有一个php,它将我的数据包含在我的数据库中。

但是在我的页面中我有一个可以复制的div,所以我将这些信息发送到一个数组中(内嵌一个“#!@”以避免在我将其插入数据库时​​出现任何错误爆炸)。 / p>

我的问题是,如果用户没有在第一个div内容字段上插入任何内容,我将不会执行插入操作,但它仍然可以。

node.js

1 个答案:

答案 0 :(得分:1)

尝试检查foreach中的第一项:

if ($_GET['action_ent'] != "#!@#!@#!@")
        {
        $myInputs = $_GET['action_ent'];
         foreach ($myInputs as $eachInput) 
         {
                if(empty($eachInput)) {
                      echo 'NOTHING';
                      break;
                }

                $valores = $eachInput;
                print_r($valores);
                $dummy = explode('#!@', $valores);

                $acao = $dummy[0];
                $resp_acao = $dummy[1];
                $inic_plan_acao = $dummy[2];
                $fim_plan_acao = $dummy[3];


                $inicio_acc = explode("/", $inic_plan_acao);
                $fim_acc = explode("/", $fim_plan_acao);

                $inicio_action = $inicio_acc[2]."-".$inicio_acc[1]."-".$inicio_acc[0];
                $fim_action = $fim_acc[2]."-".$fim_acc[1]."-".$fim_acc[0];




                    $result2 = mysql_query("INSERT INTO `demv3`.`entraves_action` (`action_id`, `ent_id`, `resp_ent`, `data_fim`,`action_desc`,`action_resp`,`action_comeco`,`action_fim`) VALUES ('0', '$ent_id', '$resp_ent', '$data_fim', '$acao', '$resp_acao', '$inicio_action', '$fim_action')");

         }

        }
        else
        {
            echo "NOTHING";
        }

请注意,除了第一个输入之外的任何其他输入都是空的,它将打破循环。为了避免逻辑上的重大变化,您可以使用计数器或布尔标志来解决此问题:

  if(empty($eachInput) && $counter == 0) {
     echo 'NOTHING';
     break;
  }