【问题标题】:Select certain ID's from MYSQL and save as PHP Vars从 MYSQL 中选择某些 ID 并保存为 PHP Vars
【发布时间】:2014-03-17 08:34:18
【问题描述】:

我想从 mysql 中选择某些 id 并将结果保存到相关的 php vars 中:

例如: 将 COL "Name"ID "20" 保存到 Var:$id20 = "Name";

$queryCS = 'SELECT * FROM ya_events WHERE id IN (20, 16, 21, 37, 40)';

$result = mysql_query($queryCS,$yaDB);
if(mysql_num_rows($result) == '') {'';} else 
{while($row = mysql_fetch_array($result)){

$id.$row['id'] = $row['name'];

}};

echo "ID16: ".$id16;

但是$id16好像是空的

【问题讨论】:

  • 在此处发布插入代码
  • 将 ROW "Name" 从 ID "20" 保存到 Var: $id20 = "Name" 是什么?
  • ${'id' . $row['id']} = $row['name'] ... 不过,使用数组似乎更有用。
  • 这就是我想做的,我想将id20中的“name”Col保存到PHP-Variable $id20 = "Content of Name Col in id21";
  • 谢谢杰克,一切正常!

标签: php mysql select where-in


【解决方案1】:

最好使用数组:

while (...) {
    $ids[$row['id']] = $row['name'];
}

echo $ids[16];

但是,如果你真的想要一堆变量:

${'id' . $row['id']} = $row['name'];

【讨论】:

  • 此外,foreach ($ids as $id => $name) { echo $id, " => ", $name, "\n"; } 也是读取每对或 id 和名称的简便方法,以防您将其保存在 Jack 建议的数组中。
  • 杰克你的第一个解决方案对我有用: ${'id' 。 $row['id']} = $row['name']; THX
  • @user2987790 很好,我已将其添加到我的答案中;但你真的应该考虑使用数组来包含。
  • 好的,我试试这个数组。由于性能原因,阵列是否更好?
  • 这不是性能方面的原因......它是将相同类型的变量组合在一起。
【解决方案2】:
while ($row = mysql_fetch_array($result))
{
    $this_variable_name = 'id' . $row['id'];  // $this_variable_name = 'id16';


    // Use PHP variable variables to define
    // and set values for variables like $id16

    $$this_variable_name = $row['name'];
};

echo "ID16: ".$id16;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-26
    • 2012-03-16
    • 2012-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多