Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php数组中显示sql查询中的值名称_Php_Mysqli - Fatal编程技术网

在php数组中显示sql查询中的值名称

在php数组中显示sql查询中的值名称,php,mysqli,Php,Mysqli,为了从数据库中获取所有用户,我创建了一个函数 $alluser=selectalluser($conn) 这个函数运行得很好,var_dump给了我一个这样的数组 array(49) { [0]=> array(4) { [0]=> int(1) [1]=> string(15) "Thomas Anderson" [2]=> string(16) "thomas@gmail.com" [3]=> string(4) &quo

为了从数据库中获取所有用户,我创建了一个函数
$alluser=selectalluser($conn)

这个函数运行得很好,var_dump给了我一个这样的数组

array(49) { [0]=> array(4) { [0]=> int(1) [1]=> string(15) "Thomas Anderson" [2]=> string(16) "thomas@gmail.com" [3]=> string(4) "Thom" } [1]=> array(4) { [0]=> int(2)
<?php
  var_dump(selectAllUsers($conn));
  $allUsers = selectAllUsers($conn);
  if ($allUsers) {
   $i = 0;
   foreach ($allUsers as $key) {
    $i++;
?>
    <tr>
        <td><?php echo $key[0] ?></td>
        <td><?php echo $key[1] ?></td>
        <td><?php echo $key[2] ?></td>
        <td><?php echo $key[3] ?></td>
    </tr>
<?php
   }
  }
?>
现在我做了一个foreach循环,它工作得很好,以便像这样显示数据

array(49) { [0]=> array(4) { [0]=> int(1) [1]=> string(15) "Thomas Anderson" [2]=> string(16) "thomas@gmail.com" [3]=> string(4) "Thom" } [1]=> array(4) { [0]=> int(2)
<?php
  var_dump(selectAllUsers($conn));
  $allUsers = selectAllUsers($conn);
  if ($allUsers) {
   $i = 0;
   foreach ($allUsers as $key) {
    $i++;
?>
    <tr>
        <td><?php echo $key[0] ?></td>
        <td><?php echo $key[1] ?></td>
        <td><?php echo $key[2] ?></td>
        <td><?php echo $key[3] ?></td>
    </tr>
<?php
   }
  }
?>
我该怎么办

以下是我的职能:

function selectAllUsers($conn)
{
    $sql = "SELECT users_id, users_name, users_email, users_uid FROM users ORDER BY users_id ASC;";
    $stmt = $conn->prepare($sql);
    $stmt->execute();
    $resultSet = $stmt->get_result();
    $result = $resultSet->fetch_all();
    if ($result) {
        return $result;
    }
}

如果要使用关联键,则需要从mysqli_结果中获取关联数组。使用以下命令:

$resultSet->fetch_all(MYSQLI_ASSOC);
如果要同时使用数字键和关联键,则可以使用:

$resultSet->fetch_all(MYSQLI_BOTH);
另外,我想指出,该函数中的
if
语句不是很有用。您可以删除它。然后,您的功能可以变成:

function selectAllUsers($conn)
{
    $sql = "SELECT users_id, users_name, users_email, users_uid FROM users ORDER BY users_id ASC;";
    $stmt = $conn->prepare($sql);
    $stmt->execute();
    return $stmt->get_result()->fetch_all(MYSQLI_BOTH);
}

如果要使用关联键,则需要从mysqli_结果中获取关联数组。使用以下命令:

$resultSet->fetch_all(MYSQLI_ASSOC);
如果要同时使用数字键和关联键,则可以使用:

$resultSet->fetch_all(MYSQLI_BOTH);
另外,我想指出,该函数中的
if
语句不是很有用。您可以删除它。然后,您的功能可以变成:

function selectAllUsers($conn)
{
    $sql = "SELECT users_id, users_name, users_email, users_uid FROM users ORDER BY users_id ASC;";
    $stmt = $conn->prepare($sql);
    $stmt->execute();
    return $stmt->get_result()->fetch_all(MYSQLI_BOTH);
}

您应该首先从结果集中提取数据作为关联数组,而不是数字索引数组。是的,使用
$resultSet->fetch_all(MYSQLI_ASSOC)
以获取列名。默认情况下,它返回您看到的数字数组。您应该首先从结果集中提取数据作为关联数组,而不是数字索引数组。是的,使用
$resultSet->fetch_all(MYSQLI_ASSOC)
以获取列名。默认情况下,它返回您看到的数字数组。