Php/Mysql搜索在有更多搜索结果时只返回1个结果
我在脚本中进行了双重搜索。当它搜索玩家装备时,它将获取玩家UID并带回该玩家的名字。唯一的问题是可能会返回多个结果,并且只显示最后一个名为的UIDPhp/Mysql搜索在有更多搜索结果时只返回1个结果,php,mysql,search,Php,Mysql,Search,我在脚本中进行了双重搜索。当它搜索玩家装备时,它将获取玩家UID并带回该玩家的名字。唯一的问题是可能会返回多个结果,并且只显示最后一个名为的UID $ip = "localhost"; $user = "******"; $pass = "*******"; $db = "hivemind"; $ill1 = $_POST['search']; //Database Connection $con = @mysql_connect("$ip:3316", "$user", "$pass")
$ip = "localhost";
$user = "******";
$pass = "*******";
$db = "hivemind";
$ill1 = $_POST['search'];
//Database Connection
$con = @mysql_connect("$ip:3316", "$user", "$pass")
or die(mysql_error());
//Select Database
$dbcon = @mysql_select_db($db, $con)
or die(mysql_error());
$sql = mysql_query("select PlayerUID, Inventory, Backpack from character_data where Inventory like '%$ill1%'");
while ($row = mysql_fetch_array($sql)) {
$puid = $row['PlayerUID'];
$inv = $row['Inventory'];
$back = $row['Backpack'];
?>
<html>
<body>
<table>
<tr>
<td><?php echo "$puid"; ?></td>
<td><?php echo "$inv"; ?></td>
<td><?php echo "$back"; ?></td>
</tr>
</table>
</body>
</html>
<?php }?>
<?php
//Database Connection
$con = @mysql_connect("$ip:3316", "$user", "$pass")
or die(mysql_error());
//Select Database
$dbcon = @mysql_select_db($db, $con)
or die(mysql_error());
$sql = mysql_query("select PlayerUID, PlayerName from player_data where PlayerUID like '%$puid%'");
while ($row = mysql_fetch_array($sql)) {
$puid2 = $row['PlayerUID'];
$plnm = $row['PlayerName'];
?>
<html>
<body>
<table>
<tr>
<td><?php echo "$puid"; ?></td>
<td><?php echo "$plnm"; ?></td>
</tr>
</table>
</body>
</html>
}
$ip=“localhost”;
$user=“*******”;
$pass=“*******”;
$db=“hivemind”;
$ill1=$_POST['search'];
//数据库连接
$con=@mysql\u connect($ip:3316“,$user“,$pass”)
或者死(mysql_error());
//选择数据库
$dbcon=@mysql\u select\u db($db,$con)
或者死(mysql_error());
$sql=mysql_查询(“从字符_数据中选择PlayerUID、Inventory、Backpack,其中Inventory类似“%$ill1%”);
while($row=mysql\u fetch\u数组($sql)){
$puid=$row['PlayerUID'];
$inv=$row['Inventory'];
$back=$row['Backpack'];
?>
在循环中打印以下代码
<td><?php echo "$puid"; ?></td>
<td><?php echo "$plnm"; ?></td>
您只打印一次,因此覆盖值。它将返回所有结果。您没有正确打印它们
将html、body和table标记移到while
循环之外
将循环更改为:
while ($row = mysql_fetch_array($sql)) {
$puid2 = $row['PlayerUID'];
$plnm = $row['PlayerName'];
echo "<tr><td>".$puid."</td>";
echo "<td>".$plnm."</td></tr>";
}
while($row=mysql\u fetch\u数组($sql)){
$puid2=$row['PlayerUID'];
$plnm=$row['PlayerName'];
回声“$puid.”;
回声“$plnm.”;
}
刚刚尝试过。它仍然只从上面提取最后一个PUID。抱歉,刚刚进行了编辑。也需要在循环中。循环将针对返回的每一行执行,因此您需要在循环的每个实例中创建一个元素。我刚刚尝试过。仍然只显示1粘贴完成在pastebin上创建php页面。在第一个while循环的主体中仍然有html、body、table。并且不需要使用html、head、body两次。我建议您将html、head和body放在所有php代码之外。