Php mysql_fetch_数组如何显示列的单个值

Php mysql_fetch_数组如何显示列的单个值,php,Php,我的查询获取8行,我希望能够通过单列而不是整行访问结果。例如,我想显示第7行的Deviceid。我可以显示列的所有值,但我很难计算出如何只获取一个值。我是PHP新手,所以请容忍我,谢谢你的帮助。 这是代码: <?php $con = mysql_connect("uimcswpro", "testmysql", "test123") or die('Could not connect to server'); mysql_select_db("storage", $con) or d

我的查询获取8行,我希望能够通过单列而不是整行访问结果。例如,我想显示第7行的Deviceid。我可以显示列的所有值,但我很难计算出如何只获取一个值。我是PHP新手,所以请容忍我,谢谢你的帮助。 这是代码:

 <?php
 $con = mysql_connect("uimcswpro", "testmysql", "test123") or die('Could not connect to server');
 mysql_select_db("storage", $con) or die('Sorry, could not connect to the database');

 $query = "Select distinct a.Deviceid as Deviceid, c.Time as Time, b.devicehostname as devicehostname, ElementName, PoolID,
 TotalManagedSpace, RemainingManagedSpace,
 TotalDiskCapacity, HotspareCapacity, UnassignedStorageCapacity,
 AssignedStorageCapacity 
 from tt_cim_storage_pool a, devices b, ent_san_storage_current c
 where a.Deviceid = b.Deviceid
 and (type = 'Unified Pool' or type = 'RAID Group' or type is NULL)
 and c.time = (select max(c.Time) from tt_cim_storage_pool where deviceid=
 (select deviceid from devices where devicehostname='UIH_8100_L14' and retire=0))
 and devicehostname='UIH_8100_L14';";

 $result = mysql_query($query,$con);
 $num_rows = mysql_num_rows($result);
 echo "$num_rows Rows\n";
 echo "<br/>";

 while ($row=mysql_fetch_array($result)) {
 echo $row[0]. " - ".$row[1]. " - ".$row['devicehostname']. " - ".$row['ElementName'].   " - ".$row['PoolID']
 . " - ".$row['TotalDiskCapacity'];
 echo "<br/>";
 }

 mysql_close($con);
 ?>   

您可以使用LIMIT关键字通过sql选择所需的行,或者简单地检查当前行数:

$rowNo = 0;
while ($row=mysql_fetch_array($result)) {
 $rowNo++;
 if ($rowNo == 7) {
   echo $row[0]. " - ".$row[1]. " - ".$row['devicehostname']. " - ".$row['ElementName'].   " - ".$row['PoolID']
 . " - ".$row['TotalDiskCapacity'];
   echo "<br/>";
 }
}
$rowNo=0;
while($row=mysql\u fetch\u数组($result)){
$rowNo++;
如果($rowNo==7){
echo$行[0]。“-”$行[1]。“-”$行['devicehostname']。“-”$行['ElementName']。“-”$行['PoolID']
.“-”$行['TotalDiskCapacity'];
回声“
”; } }

您还应该考虑使用MySqLII/P>这样的现代数据库接口,查询可以返回不止一行。您需要在SQL中添加“AND a.Deviceid=n”来更具体一些,或者为所需的Deviceid遍历结果数组的行。查询只针对一个Deviceid。每个deviceid都返回几行,因为每个设备都有几个数组。谢谢@ziollek。这是我得到的显示:3-1393224682318-UIH_8100_L14-未分组磁盘-未分组磁盘-9749982609408。我要做的是只将此行的一个值传递给变量,例如“UIH_8100_L14”。有什么办法吗?再次感谢您的快速回复:)。