php - 可捕获的 fatal error : Object of class player could not be converted to string

标签 php mysql class oop methods

我目前正在尝试通过实践来学习一些 OOP。我正在尝试使用商店、元素和银行创建一个小型角色扮演网站,但唯一的障碍是这个错误可能一直出现,我自己不知道如何解决它。我在互联网上进行了一些搜索,但我什么都不清楚。

脚本给了我

Catchable fatal error: Object of class player could not be converted to string

它告诉我必须对此银行方法中的查询执行某些操作;

class bank {
     Function bankAccountBalance($player) {
       // getting account balance from player`s bank
      $check = mysql_query("SELECT * FROM player_bank WHERE player='".$player."'");
      while($balance = mysql_fetch_object($check)){return $balance->value;}
     }
}

并且它正在被另一个类中的其他方法使用

class shop {
     Function shopBuyItem($player,$item,$amount,$value) {
       // send item to player, remove value from bank
         $player = new player;
         $bank = new bank;
         $callback = new callback;
       $newvalue = $amount*$value; // calc total value of items
       if($bank->bankAccountBalance($player)>=$newValue)
       {
        // correct balance, trading the item
        $player->playerAddItem($player,$item,$amount);
        $bank->bankRemoveCash($player,$newValue);
       }
       else
       {
        // Incorrect Balance, abort
        $callback->errorMessage("Your bank account has insuffient balance. You cannot perform this transaction.");
       }
     }
}

我希望事情对每个人来说都足够清楚,可以帮助我解决这个问题。 如果您需要根据本主题的任何其他代码来帮助我解决它,请询问我,因为我不知道您到底需要什么。

最佳答案

$check = mysql_query("从player_bank中选择*,其中player='".$player."'");

除了不 protected 查询之外,$player 是一个对象,您将其视为字符串,并将其与字符串查询的其余部分连接起来。

也许您想调用某些方法,例如 $player->getId() 或公共(public)属性,例如 $player->id

从技术上讲,您可以将对象转换为字符串(json_encode()serialize()),甚至实现魔术方法__toString() ,但这很可能不是您在当前设置中想要做的,对吗?

关于php - 可捕获的 fatal error : Object of class player could not be converted to string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21389626/

相关文章:

php - CakePHP 数据库查询 DISTINCT/GROUP BY 错误

php - Yii 2.0 AJAX 请求的 CSRF 验证

c++ - 在 using 语句中指定类名有什么作用?

c++ - 在类中声明一个数组,并使用构造函数设置其大小

php - mdb2 错误,准备语句中整数 = NULL

php - PhalconPHP 的 IDE 自动完成功能

mysql - 使用 Hibernate 或 SQL 比较两个枚举集合

php - 查询未返回预期结果

mysql - MySQL默认是否缓存

java - 使用抽象类实现接口(interface)时要声明什么(不)?