我正在尝试从表中提取值列表但无法获取所有这些值。在MySQL中运行以下命令会返回3个建筑物的列表 - (建筑物A,建筑物A,建筑物B),并带有以下查询:SELECT building FROM cms_availabilities
。但是我无法在我的页面上得到相同的结果。
$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.我也不确定为什么第二个键显示“建筑物”而不是1.有关正在发生的事情或如何成功提取结果的任何想法我要什么?
答案 0 :(得分:2)
fetch_array
只会获取当前行 - 您需要迭代,依次获取每个行:
while ($row = $database->fetch_array()) {
echo $row['building'];
}
答案 1 :(得分:1)
while( $availabilities = mysql_fetch_assoc( $result ) )
{
// Enter Code here;
}
这会返回一个关联数组。
但是不推荐使用mysql_*
命令,因此您应该使用:
MySQLi版本:
while( $availabilities = $result->fetch_assoc() )
{
// Your Code here
}
// You should free availabilities after you're done with it.
$availabilities->free();
答案 2 :(得分:0)
我会创建这样的东西:
<?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;
}