2

我正在尝试从 mysql 数据库的特定表中连续打印所有项目。

这是我得到的输出(这不是我想要的):

**mysqli_result Object ( [current_field] => 0 [field_count] => 3 [lengths] => [num_rows] => 28 [type] => 0 ) Array ( )**

这是我的做法:

<?php
    $connect = mysqli_connect("localhost", "root", "root");
    mysqli_select_db($connect, "TrackTool");

    $fetch1 = mysqli_query($connect, "SELECT * FROM SalesForceActions");

    // set array
    $array = array();

    // look through query
    while($row = mysql_query($fetch1)){

        // add each row returned into an array
        $array[] = $row;

    }

    print_r($fetch1);
    print_r($array);

    mysqli_close($connect);

?>

我究竟做错了什么?

4

2 回答 2

4

您需要在运行查询后获取结果。所以你执行查询然后循环从这些结果中获取

像这样:

$fetch1 = mysqli_query($connect, "SELECT * FROM SalesForceActions");

$array = array();
while($row = mysqli_fetch_assoc($fetch1)){
    $array[] = $row;
}

您还将 mysqli_* 函数与 mysql_* 函数混合在一起。一定不要混合这些。事实上,从现在开始只使用 mysqli_* 函数,因为 mysql_* 函数已被弃用。

于 2013-07-26T03:07:02.180 回答
3

您需要使用(或等效)获取结果:mysqli_fetch_assoc()

$array = array();
while($row = mysqli_fetch_assoc($fetch1)) {
  $array[] = $row;
}
print_r($array);

如果您确实想要所有行,请查看mysqli_fetch_all()

$array = mysqli_fetch_all($fetch1, MYSQLI_ASSOC);
print_r($array);
于 2013-07-26T02:57:48.580 回答