如何将查询结果更改为数组

时间:2018-10-03 18:36:35

标签: php mysql

我如何将结果从mysql数据库更改为数组以用于其他功能

if(isset($_POST['search'])) {
    $query = "select * from users";

    $result = mysqli_query($conn, $query);


    while($user = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
        $user['identification'];
    }
}

我尝试了$lima = array($user['identification']);,但似乎不适合我。

2 个答案:

答案 0 :(得分:0)

我假设您想要一个用户标识列表,在这种情况下,请在循环外创建一个空数组,并在您从数据库中获取一行时添加每个条目...

DECLARE
@Company nvarchar(50)
@CardType nvarchar(50) = NULL
@ErrorCode nvarchar(50)

SET
@Company = 'JPMorgan'
@CardType = NULL
@ErrorCode = '01'

SELECT * FROM Bank
WHERE Company = @Company
AND (@CardType IS NULL OR CardType = @CardType)
AND ErrorCode = @ErrorCode

请注意,如果只希望使用$lima = array(); while($user = mysqli_fetch_array($result, MYSQLI_ASSOC)){ $lima[] = $user['identification']; } 列,则最好将其放在选择的位置,而不是identification ...

*

您还可以研究mysqli_fetch_all()一次获取所有数据,而不用使用循环...

$query = "select identification from users";

然后您可以使用类似...的值列表。

$lima = mysqli_fetch_all($result, MYSQLI_ASSOC);

答案 1 :(得分:0)

要访问数组中具有特定键的元素,我们使用以下语法$user['identification'];在while循环中进行操作时,就好像您只想访问键上的值identification数组中的strong> $user在while循环中您没有做任何特别的事情。 要创建仅包含每个user的索引的数组,必须将$user['identification']的值添加到新数组并位于某个index处。在PHP中,您无需先声明变量就可以开始使用它,就像我在下面将每个identification的{​​{1}}键的值附加到新数组user一样,因为它是您不必指定 index 的索引数组。只是通过不在括号内指定任何东西,PHP会自动为添加到数组中的每个元素生成一个新索引

$lima