2013-03-09 74 views
0

这是我的代码看起来像执行的语句:停止代码,如果从当错误发生时

if($allthevaluesarenotempty) { 
    if($pictureexist) { 
     // upload picture code 
    } 
    else 
    { 
     $message = "error"; 
    } 

    // sql query here 
} 

我如何阻止时$message设置执行SQL查询?

+0

[你有什么试过?](http://whathaveyoutried.com /) – 2013-03-09 23:40:27

+0

你错误地表达了你的目标 - 如果发生消息,你不应该停止,但是当你停止时你应该显示消息。 – Voitcus 2013-03-09 23:41:33

+0

@JohnVanDeWeghe当发生错误时,我尝试重定向页面\t'header('Location:'。$ _SERVER ['HTTP_REFERER']); '但我正在寻找更好的解决方案。 – shnisaka 2013-03-09 23:41:58

回答

3
  • 如果在这样一段时间,并foreach循环的情况下,你可以使用continue;逃脱迭代和break;结束循环。

  • 在函数return false;将停止执行。

  • 在PHP文档中,exit()将终止脚本的进一步执行。

所以,使用哪个是合适的。

+1

'return true;'? :) – 2013-03-10 00:03:52

+0

@AkramBerkawy,ha ha – Starx 2013-03-10 03:09:40

1

检查$message,看看是否出现了错误:

if($allthevaluesarenotempty) { 

    $message = '';  

    if ($pictureexist) { 

     // upload picture code 

    } else { 

     $message = "error"; 

    } // if $pictureexist 

} // if $allyourvalues... 

// later in your code check $message 

if ($message == 'error') { 

    // do something, there was an error... 

} // if $message 
+0

'if($ message =='error')''可能会返回'warning'或注意'$ allthevaluesarenotempty'是否为false。 – 2013-03-10 10:41:18

1

你可以检查变量$message,看看它是否是euql为“错误”:

if($allthevaluesarenotempty) { 
    if($pictureexist){ 
     // upload picture code 
    } 
    else 
    { 
     $message = "error"; 
    } 
    if (@$message != "error")) { 
     //sql query here 
    } 
} 

,或者你可以把你的SQL在if区块中查询

if($allthevaluesarenotempty) { 
    if($pictureexist){ 
     // upload picture code 

     //sql query here 
    } 
    else 
    { 
     $message = "error"; 
    } 
} 
相关问题