Php SQL语句未返回所有值

Php SQL语句未返回所有值,php,mysql,sql,Php,Mysql,Sql,我试图从表中提取一个值列表,但无法获取所有值。在MySQL中运行以下命令将返回一个包含3个建筑物的列表(a楼、a楼、B楼)以及此查询:从cms\u可用性中选择建筑物。然而,我无法在我的页面上获得相同的结果 $sql = "SELECT building FROM cms_availabilities"; $result = $database->query($sql); $availabilities[] = $database->fetch_array($result); var_

我试图从表中提取一个值列表,但无法获取所有值。在MySQL中运行以下命令将返回一个包含3个建筑物的列表(a楼、a楼、B楼)以及此查询:
从cms\u可用性中选择建筑物
。然而,我无法在我的页面上获得相同的结果

$sql = "SELECT building FROM cms_availabilities";
$result = $database->query($sql);
$availabilities[] = $database->fetch_array($result);
var_export($availabilities);
这将返回:
array(0=>array(0=>'Building A','Building'=>'Building A',),),)


我需要得到A楼,A楼,B楼。我也不知道为什么第二个键显示“Building”而不是1楼。关于正在发生的事情,或者如何成功获取我想要的结果,您有什么想法吗?

fetch\u array
将只获取当前行-您需要迭代,依次获取每一行:

while ($row = $database->fetch_array()) {
    echo $row['building'];
}
这将返回一个关联数组

但是,
mysql.*
命令已被弃用,因此您应该使用:

MySQLi版本:

    while( $availabilities = $result->fetch_assoc() )
    {
         // Your Code here
    }

     // You should free availabilities after you're done with it.
     $availabilities->free();

我将创建如下内容:

<?php
function building (){
        $query=@mysqli_query($this->db,"SELECT building FROM cms_availabilities");
            while ($row = @mysqli_fetch_object($query)){
            $building=stripslashes($row->building);         
                $show_building = array('building'=>$building);  
            }

        return $this->building=$show_building;  
     }

您需要遍历结果集以获取所有值。您当前的代码将仅放置数组中的第一行。可能还有和其他几行的重复。
<?php
function building (){
        $query=@mysqli_query($this->db,"SELECT building FROM cms_availabilities");
            while ($row = @mysqli_fetch_object($query)){
            $building=stripslashes($row->building);         
                $show_building = array('building'=>$building);  
            }

        return $this->building=$show_building;  
     }