Mysql Fetch Array ASSOC返回没有assoc的单行

时间:2015-01-07 05:45:02

标签: php mysql arrays

function getContact(){
  try{
    $db = new DBConnection();
    $db->getConnection();
    $sql = "select * from `contact`";
    $handle = mysql_query($sql);
    $rowRes = mysql_fetch_array($handle, MYSQL_ASSOC);
    }catch(Exception $e){
  }
  return $rowRes;
}

当我跑步时

$contactArr =  getContact();
print_r($contactArr);

结果返回

1leadsBun Lowbun@12345.com82883810

我的数据库中有2条记录,print_r只显示一条记录。

print_r也不会以数组结构打印。

当我使用print_r($ rowRes)时,如何使其作为数组工作,它应该返回它的assoc和它的2行。

感谢您的帮助!

3 个答案:

答案 0 :(得分:0)

你必须像

一样循环
while($rowRes = mysql_fetch_array($handle, MYSQL_ASSOC)) {
    print_r($rowRes);
}

编辑:

mysql_fetch_array()返回与获取的行对应的数组,并将内部数据指针向前移动。在这种情况下,我们有2行。首先它返回第一行并向前移动指针。但不是取得排。要获取第二行,我们必须再次循环。在第二行之后没有更多的行,所以它返回FALSE并且循环退出。

请阅读here

答案 1 :(得分:0)

你必须添加while循环代码在

之下
$data = array();
while($rowRes = mysql_fetch_array($handle, MYSQL_ASSOC)) {
    $data[] = $rowRes;
}
print_r($data);

答案 2 :(得分:0)

你可以在循环中尝试使用mysql_fetch_row()函数。

while($rowRes = mysql_fetch_row($handle) {
   print_r($rowRes);
}

这将以您想要的方式返回数组中的记录。