我正在使用PHP和MySQL创建一个Web应用程序。
<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";}
所以它确实将行转换为字符串以及检索英雄。我怎么得到行?例如,我如何才能获得&#34; Dazzle&#34;它返回的所有文本中都有吗?
答案 0 :(得分:0)
只需获取所需的列:
...
$hero_object = mysqli_fetch_object($result);
$hero_name = $hero_object->name;
return $hero_name;
请注意,您应该在数据库调用中添加错误处理以捕获空记录集等情况。
另请注意,如果要在url和html输出中使用该变量,则应正确转义它。例如,在你的函数中返回一个值,你可以在你的url中使用:
return urlencode($hero_name);
在这种情况下,您不需要htmlspecialchars()
,因为当您使用urlencode()
时,html中的所有特殊字符都不会保持未编码状态。