我似乎到处寻找这个。
这是我用来将变量设置为MySQL数据库中的一段数据的代码
$PartNo=mysql_result($result,$i,"PartNo");
哪里
$result = mysql_query("SELECT * FROM PriceList");
$i = 0
,每次我的 while 循环重新启动
时都会增加 1 PartNo 是我的 MySQL 表中的字段名称,也是我想将数据库中
的数据设置为 价目表是我的数据库名称
我想遍历所有字段名称(数组包含它们(并为该数据设置具有相同名称的变量。喜欢这个:
$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"(;)但实际上并没有获得变量集。
您正在传递一个包含mysql_result
"$X"
的字符串,而不是列的名称。删除单引号:
$$X=mysql_result($result, $i, $X);
$$X=mysql_result($result,$i,'$X'); // these single quotes around $X avoid your actual string to be used.
$$X=mysql_result($result,$i,"$X");