我有几个更新语句需要在提交单击时运行。我可以运行单个更新,但我很难弄清楚如何在刷新页面之前运行所有这些更新。这是我尝试过但我在关闭连接时出错,运行单个语句时没有出现。
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");
}
}
答案 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
。