我目前正在尝试通过实践来学习一些 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/