【问题标题】:Store mysql results in array将mysql结果存储在数组中
【发布时间】:2016-04-03 08:32:44
【问题描述】:

我有一个非常简单的问题。

$sql = "SELECT * FROM ".USERS."";
$result = $site_db->query($sql);

while ($user_row = $site_db->fetch_array($result)) {
    $user_id = $user_row['user_id'];
}

现在我需要使用所有的user_id(数组):

$user_id = array();
foreach ($user_id as $value) {
    echo "$value <br>";
}

我需要将 user_id 存储在一个数组中。 提前感谢您的帮助。

【问题讨论】:

  • 你必须了解php数组..
  • PDO::FETCH_COLUMN 将返回 fetchAll() 的值数组或 fetch() 的简单值
  • 深深感谢 DevPro:)

标签: php jquery mysql arrays


【解决方案1】:

$values 存储在这样的数组中:

$yourArr = array();
while ($user_row = $site_db->fetch_array($result)) {
  $yourArr[] = $user_row['user_id'];
}
echo "<pre>";
print_r($yourArr);

结果应该是这样的:

Array
(
    [0] => 123 // assuming userid
    [1] => 456 // assuming userid
    [2] => 789 // assuming userid
)

【讨论】:

  • @AnnaZina:欢迎您,实际上我们所有人都在同一点上,现在选择最佳答案并标记为已接受,这将有助于其他面临此问题的人。点击左边的绿色勾号。
【解决方案2】:

只要喜欢:

    while ($user_row = $site_db->fetch_array($result)) {
        $user_id[] = $user_row['user_id'];
    }

【讨论】:

  • 定义 $user_id = array();在while循环之前:)
  • 如果查询没有返回任何记录,那么它将中断...在循环之前初始化您的数组。
【解决方案3】:

只需替换

$user_id = $user_row['user_id'];

$user_id[] = $user_row['user_id']; // make $user_id variable array

【讨论】:

  • 对不起,我不知道它是如何工作的。我刚刚投票还是必须点击其他地方?
【解决方案4】:

您有一个数据库,其中包含诸如 user_id、user_name 之类的列,从您的问题来看,您想要做的是将所有 user_ids 放入一个数组中,对吗? 这是你的做法......

$sql = "SELECT * 
FROM ".USERS."
";
$result = $site_db->query($sql);

$user_id = array();
while ($user_row = $site_db->fetch_array($result)) {
array_push($user_id, $user_row['user_id']);
}

//then you can use your array now
foreach ($user_id as $value) {
echo "$value <br>";
}

【讨论】:

  • 你在一个while循环中使用array_push,这是一个额外的成本
猜你喜欢
  • 2021-06-27
  • 2015-08-31
  • 1970-01-01
  • 1970-01-01
  • 2019-07-07
  • 1970-01-01
  • 1970-01-01
  • 2021-09-24
  • 1970-01-01
相关资源
最近更新 更多