2013-07-26 48 views
1

我想从mysql数据库的特定表中打印一行中的所有项目。从MySQL表打印PHP数组

这里是出放我收到(这不是我想要的):

**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); 

?> 

我在做什么错?

+0

你想获得什么?每行将被存储在一个数组中。 –

+0

你为什么要混合使用'mysql_'和'mysqli_'函数?你的'mysqli_'函数是不正确的,因为它看起来像你正在使用'mysql_'语法/参数,但使用'mysqli_'前缀。请参阅http://php.net/manual/en/mysqlinfo.api.choosing.php查看每个示例。 – Sean

+1

某些东西不能在这里泛出来。你说你的数据库名称是“ActionTable”,但你正在尝试连接到'TrackTool'。然后是'SalesForceActions'。我没有得到什么? –

回答

1

您需要在运行查询后获取结果。与mysql_

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

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

你也混合mysqli_ *功能*功能:所以你执行查询,然后循环从这些结果

像这样取。一定不要混合这些。实际上,从现在开始只需要使用mysqli_ *函数,因为mysql_ *函数已被弃用。

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); 
+0

这是返回相同的东西。 – Moose

+0

所以基本上它没有返回它看起来像这样:“Array()” – Moose

+0

这不是完整的代码。替换上面的相关代码。如果它仍然是一个空阵列,那么其他的东西就是错的。 –