从mysql查询的结果中定义变量和相应的值

时间:2014-03-02 19:31:05

标签: php mysql variables pdo

我有一个表,它为给定的用户存储变量名及其对应的值。每个用户可能有不同数量的变量,或说不同的行数。

id_user | var_name  |  var_value
-------------------------------
 1      | $a        |   1
 1      | $b        |   6
 2      | $a        |   7
 3      | $c        |   4
 4      | $a        |   1

我正在查询表,确实为每个用户获取了一组值,循环遍历我为user_id 1获取的数组,

$a    1
$b    6

没关系,但我需要设置变量和它的值如下:

$a=1
$b=6

尝试使用

echo $var[0]."=".$var[1];

为了得到$ a = 1,但是没有设置变量,只是打印出来。 尝试变量变量

$$user_var=$var[0]; #then variables $a and $b are created
$$user_var=$var[1]; #hoping to assign second column value to each variable.

这些似乎都不起作用。确实尝试了第三种方法,在mysql中连接,并且每行得到这些结果:

$a=1
$b=6

我如何将 PHP 变量设置为:

$a=1
$b=6

请记住,我对查询本身没有任何问题,我得到了预期的结果,问题是 PHP 级别。 Debian 6.0上的 PHP 5.3+。

其实这是我的疑问:

$query=$dbh->prepare("SELECT user_variable, variable_value FROM table where id_user=? ");
$query->execute(array($id_user));

1 个答案:

答案 0 :(得分:0)

如果我理解正确,extract()就是你要找的。