我似乎到处都在寻找这个。

这是我用来将变量设置为来自MySQL数据库的数据片段的代码

$PartNo=mysql_result($result,$i,"PartNo");


哪里

 $result = mysql_query("SELECT * FROM PriceList");


每当我的while循环重新启动时,$i = 0被加1
  PartNo是我的MySQL表中的字段名称,也是我想要将数据库中的数据设置为的变量名称
  PriceList是我的数据库名称

我想遍历所有字段名称(数组具有它们),并为该数据设置具有相同名称的变量。像这样:

$PartNo=mysql_result($result,$i,"PartNo");
$Group=mysql_result($result,$i,"Group");
$OnHand=mysql_result($result,$i,"OnHand");
$QOO=mysql_result($result,$i,"QOO");
$Description=mysql_result($result,$i,"Desc");
$Cost=mysql_result($result,$i,"Cost");


但是有了一个foreach循环,所以它没有那么多代码。
我在想这样的事情,但是无论我采用哪种方式(parse_str,eval,exec等),它都不会执行。

$nDatabaseVars=array("PartNo","Group","OnHand","QOO","Desc","Cost");

foreach ($nDatabaseVars as $X) {
    $$X=mysql_result($result,$i,'$X');
}


我需要“ $$X”进行评估,以便在第一次迭代时将其更改为$ PartNo =,然后在第一行中将$PartNo设置为数据库中的任何数据。这部分是什么:mysql_result($result,$i,"PartNo")

如果我代替它:

foreach ($nDatabaseVars as $X) {
    echo "$$X=mysql_result($result,$i,'$X')";
}


我可以确切地说出我需要执行的内容($ PartNo = mysql_result($ result,$ i,“ PartNo”);),但实际上并没有获取变量集。

最佳答案

您正在将包含"$X"的字符串传递给mysql_result,而不是列名。删除单引号:

$$X=mysql_result($result, $i, $X);

10-08 10:54
查看更多