在提交

时间:2016-01-30 19:26:47

标签: php mysql sql mysqli sql-update

我有几个更新语句需要在提交单击时运行。我可以运行单个更新,但我很难弄清楚如何在刷新页面之前运行所有这些更新。这是我尝试过但我在关闭连接时出错,运行单个语句时没有出现。

if ($conn->query($usqlMC)  == True) {
if ($conn->query($usqlSCn)  == True) {
    if ($conn->query($usqlSCv)  == True) {
        if ($conn->query($usqlTn)  == True) {
            if ($conn->query($usqlTurl)  == True) {
                if ($conn->query($usqlTv)  == True) {
                    header("location: http://localhost/phpkiosk/mc1.php");
                } 
            }
        }
    }
}
}

我确信这是完全错误的,所以任何关于如何解决这个问题的建议将不胜感激。感谢!!!

添加错误消息

  

解析错误:语法错误,第1196行C:\ wamp2 \ www \ phpKiosk \ mc1.php中意外的文件结尾

我跑步时再没有收到任何错误:

if ($conn->query($usqlMC)  == True) {
    header("location: http://localhost/phpkiosk/mc1.php");
}

工作解决方案

使用Chris85的建议我能够让它工作:

if ($conn->query($usqlMC) === TRUE && 
   $conn->query($usqlSCn) ===TRUE &&
   $conn->query($usqlSCv) ===TRUE &&
   $conn->query($usqlTn) ===TRUE &&
   $conn->query($usqlTurl) ===TRUE &&
   $conn->query($usqlTv) ===TRUE) {
   header("location: http://localhost/phpkiosk/mc1.php");
   } 
}

1 个答案:

答案 0 :(得分:2)

除非你需要单独检查,否则更容易将所有条件保存在一个if中,这也简化了控制块的打开和关闭。

所以这个:

if ($conn->query($usqlMC)  == True &&  
    $conn->query($usqlSCn)  == True && 
    $conn->query($usqlSCv)  == True && 
    $conn->query($usqlTn)  == True && 
    $conn->query($usqlTurl)  == True && 
    $conn->query($usqlTv)  == True) {
          header("location: http://localhost/phpkiosk/mc1.php");
}

应该为您执行相同的操作,但只需要一个控制块。

还有

  

意外的文件结尾

错误永远不要相信行号。这就是文件结束的地方而不是错误的位置。 PHP无法知道块的关闭位置。

例如:

<?php
if (1==1) {
echo 'this is true';
echo 'I also want to do this';
echo 'I meant to close here';
echo 'code done';

会在第6行引发错误,但错误实际上是在第4/5行,我无法关闭if