Php 意外的T_捕获,应为T_函数
今天,在尝试编写这个用户类时,我在下面突出显示的行中遇到了上面的错误,我想知道你们对此有何看法Php 意外的T_捕获,应为T_函数,php,error-handling,Php,Error Handling,今天,在尝试编写这个用户类时,我在下面突出显示的行中遇到了上面的错误,我想知道你们对此有何看法 class User { public $username; public $password; public $user_info; public $connection; function __construct($username) { $connection = new Database(); try { $user_info = $connection
class User {
public $username;
public $password;
public $user_info;
public $connection;
function __construct($username) {
$connection = new Database();
try {
$user_info = $connection->query("SELECT * FROM `users` WHERE `username` = '$username'");
if ($user_info == null) {
throw new Exception("Could not find user details, please try again later!");
}
***} catch (Exception $login) {***
die($login->getMessage());
}
session_start();
$_SESSION["dgs_tech"] = $user_info;
}
function update_info() {
$user_info = $connection->query("SELECT * FROM `users` WHERE `username` = '$username'");
if ($user_info == null) {
throw new Exception("Could not find user details, please try again later!");
}
} catch (Exception $login) {
die($login->getMessage());
}
$_SESSION{"dgs_tech"] = $user_info;
}
function return_info() {
$text = "<p>"
foreach($user_info as $name => $item) {
$text += "<h1>$name:</h1>$item<br/>";
}
$text += "</p>";
return $text;
}
}
类用户{
公共$username;
公共密码;
公共$user\u信息;
公共连接;
函数构造($username){
$connection=新数据库();
试一试{
$user\u info=$connection->query(“从`users`中选择*,其中`username`='$username');
如果($user\u info==null){
抛出新异常(“找不到用户详细信息,请稍后再试!”);
}
***}catch(异常$login){***
死亡($login->getMessage());
}
会话_start();
$_会话[“dgs_tech”]=$用户信息;
}
函数更新_info(){
$user\u info=$connection->query(“从`users`中选择*,其中`username`='$username');
如果($user\u info==null){
抛出新异常(“找不到用户详细信息,请稍后再试!”);
}
}catch(异常$login){
死亡($login->getMessage());
}
$_SESSION{“dgs_tech”]=$user_info;
}
函数返回_info(){
$text=“”
foreach($name=>$item形式的用户信息){
$text+=“$name:$item
”;
}
$text+=“”;
返回$text;
}
}
我认为此错误即将执行函数更新\u info()
您没有“try{”已更正的代码:立即尝试:
class User
{
public $username;
public $password;
public $user_info;
public $connection;
function __construct($username)
{
$connection = new Database();
try
{
$user_info = $connection->query("SELECT * FROM `users` WHERE `username` = '$username'");
if ($user_info == null)
{
throw new Exception("Could not find user details, please try again later!");
}
}
catch (Exception $login)
{
die($login->getMessage());
}
session_start();
$_SESSION["dgs_tech"] = $user_info;
}
function update_info()
{
try
{
$user_info = $connection->query("SELECT * FROM `users` WHERE `username` = '$username'");
if ($user_info == null)
{
throw new Exception("Could not find user details, please try again later!");
}
}
catch (Exception $login)
{
die($login->getMessage());
}
$_SESSION["dgs_tech"] = $user_info;
}
function return_info()
{
$text = "<p>"
foreach($user_info as $name => $item)
{
$text += "<h1>$name:</h1>$item<br/>";
}
$text += "</p>";
return $text;
}
}
类用户
{
公共$username;
公共密码;
公共$user\u信息;
公共连接;
函数构造($username)
{
$connection=新数据库();
尝试
{
$user\u info=$connection->query(“从`users`中选择*,其中`username`='$username');
如果($user\u info==null)
{
抛出新异常(“找不到用户详细信息,请稍后再试!”);
}
}
catch(异常$login)
{
死亡($login->getMessage());
}
会话_start();
$_会话[“dgs_tech”]=$用户信息;
}
函数更新_info()
{
尝试
{
$user\u info=$connection->query(“从`users`中选择*,其中`username`='$username');
如果($user\u info==null)
{
抛出新异常(“找不到用户详细信息,请稍后再试!”);
}
}
catch(异常$login)
{
死亡($login->getMessage());
}
$_会话[“dgs_tech”]=$用户信息;
}
函数返回_info()
{
$text=“”
foreach($name=>$item形式的用户信息)
{
$text+=“$name:$item
”;
}
$text+=“”;
返回$text;
}
}
它的问题是Try从一个函数开始,到另一个函数结束
你应该正确缩进你的代码。错误会自动清除。你的构造函数荣誉{}没有正确关闭,你有一个函数外的代码。你为什么要为他做这件事?:p我们应该发布问题的答案,这些问题将允许查找和修复,还没有准备好“我是为你们做的”;@Dariusz,他自己无法纠正,这就是为什么他在这里问这个问题。我认为我们可以通过清晰和详细的说明来帮助我们的编码同事。是的,但那样只能教方法:“我做不到,让别人为我做吧。”,并指出要查找的位置,强迫用户,告诉用户他犯了什么错误……你们想让每个人都只问侯恩“请帮我修一下吗?”;)@Dariusz,我更正了代码,同时说明了原因并给出了正确缩进的提示,这样他就不会重蹈覆辙。你还想从我这里得到什么?@shamittomar我什么都不想要,你的答案没有错,我只是很惊讶,你粘贴了准备就绪的代码,而不是仅仅(只)指出错误:)不多不少幸运的是,当我发布这篇文章时,我注意到缺少“try{”。我还修复了其他几个错误,但非常感谢:)