2017-02-14 74 views
0

你好,请你帮我解决这个错误吗?我是初学者在PHP :)解析错误:语法错误,意外'catch'(Tlve this err_CATCH)on line 41

protected function RunQuery($sql) { 
    $pdo = $this->conn; 
    $stmt = $pdo->prepare($sql); 

    if($stmt) { 
     $stmt->execute($sql); 
    } else { 
     print_r("Unable to prepare the query"); 
    } 
    catch(PDOException $e) { 
     print_r($e); 
     exit(0); 
    } 
} 
+0

就像错误状态,你有一个意想不到的'catch'语句。那为什么那个陈述? – David

+1

'catch'总是与'try'一起使用,语法为'try {/ * code * /} catch(Exception $ e){/ * code * /}'。请参阅http://php.net/manual/fr/language.exceptions.php – Kaddath

回答

-2

好像你错过了一个'}'上面的线捕获。

+1

将“catch”语句移到该函数外部也会对解析器“意外”。 – David

+0

捕获功能 –

+0

它与try {}一起工作谢谢 –

5

在添加catch块之前,您需要有一个try块。您需要更改您的代码是这样的:

protected function RunQuery ($sql) { 

    $pdo = $this->conn; 

    try 
    { 
     $stmt = $pdo->prepare($sql); 

     if ($stmt) { 
      $stmt->execute($sql); 
     } else { 
      print_r("Unable to prepare the query"); 
     } 
    } 
    catch (PDOException $e) { 
     print_r($e); 
     exit(0); 
    } 
} 

更多信息有关尝试&捕捞以及如何处理与异常可以在php documentation找到。

相关问题