如何使用PHP将对象转换为字符串
问题描述:
我正在使用PHP和MySQL创建Web应用程序。如何使用PHP将对象转换为字符串
<button type="button" class="btn btn-primary btn-lg btn-block" id="buttony">All</button>
<button type="button" class="btn btn-default" id="buttony1">Strength</button>
<button type="button" class="btn btn-default" id="buttony2">Agility</button>
<?php echo "<a href='heroes/" . get_intelligence_hero($name) . ".html'" . "<button type='button' class='btn btn-default' id='buttony3'>Intelligence</button>"; ?>
使用PHP它接收来自数据库的随机行,然后当你点击它,它把你带到该行自己的HTML页面(这是一个名为DOTA2的游戏。你按一下属性的英雄都有和它会随机选择一个英雄给你,并把它带到网页)。
function get_intelligence_hero($name){
global $con;
$result = mysqli_query($con, "SELECT name FROM heroes WHERE attribute = 'intelligence' ORDER BY RAND() LIMIT 1");
if(!$result) {
die(mysqli_error($con));
}
$hero = serialize((mysqli_fetch_object($result)));
echo $hero;
}
这是我检索那个英雄的功能,如果他是基于Intelligence属性的话。我使用序列化来查看它是否会转换为字符串。但它给了我这个结果:
O:8:"stdClass":1:{s:4:"name";s:6:"Dazzle";}
所以它确实将行转换为字符串以及检索英雄。我怎样才能得到行?例如,我如何从所有返回的文本中获得“炫目”?
答
刚拿到列,您需要:
...
$hero_object = mysqli_fetch_object($result);
$hero_name = $hero_object->name;
return $hero_name;
请注意,您应该添加错误处理您的数据库调用赶情况就像空的记录集等
另外请注意,如果你打算要在url和html输出中使用变量,您应该正确地转义它。例如,在你的函数返回您可以在URL中使用的值:
return urlencode($hero_name);
您不要在此情况下,没有任何特殊字符的HTML中当您使用urlencode()
将保持未编码的需要htmlspecialchars()
。
谢谢你的帮助。我也很喜欢你如何详细介绍HTML编码。非常感谢你。 – Lewis 2014-10-28 22:28:44