php - 从mysql动态选择列

标签 php mysql dynamic

我有几个问题导致动态部分,但我认为这应该有意义

$memberID = 7;
$oreVolumePriceQuery = "SELECT od.oreID, od.oreType, od.name, od.inGameID, od.size, ir.officialCorpRate FROM oreData od JOIN itemRates ir ON od.inGameID = ir.typeID order by od.oreID asc";
$oreVolumePriceResult = mysql_query($oreVolumePriceQuery);
while($row = mysql_fetch_assoc($oreVolumePriceResult)){
    $oreType = $row['oreType'];
    $getRefiningRateQuery = "SELECT '$oreType' FROM memberData WHERE member_id = '$memberID'";
    $getRefiningRateResult = mysql_query($getRefiningRateQuery);
    while($row = mysql_fetch_assoc($getRefiningRateResult)){
    $refiningRate = $row['$oreType'];

第一个查询返回类似于下面的结果(实际上 31 行,但 2 行就足够了)

oreID | oreType | name     | inGameID | size | officialCorpRate
 1    | veld    | veldspar | 1230     | 0.1  | 10.21
 2    | scor    | scordite | 1228     | .15  | 10.2

基于第一行,第二个查询最终为

SELECT veld FROM memberData WHERE member_ID = '7'

此查询返回正确的结果

veld
 .7

但这一切在最后一行都崩溃了,它动态地选择从查询中提取哪一列。有什么办法可以解决这个问题吗?

最佳答案

您正在定义两个相同的 $row 名称,例如将第二个提取重命名为 $row1

 while($row = mysql_fetch_assoc($oreVolumePriceResult)){
$oreType = $row['oreType'];
$getRefiningRateQuery = "SELECT '$oreType' FROM memberData WHERE member_id = '$memberID'";
$getRefiningRateResult = mysql_query($getRefiningRateQuery);
while($row1 = mysql_fetch_assoc($getRefiningRateResult)){
$refiningRate = $row1[$oreType];

关于php - 从mysql动态选择列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14303538/

相关文章:

php - 在 PHP 中的时区之间转换

php - 获取 MySql 数据并将其存储到 Javascript 数组中

PHP与MySQL对比数据

php - 使用 simple_html_dom 在 php 中获取分区的高度

Php视频上传错误

php - 如果字段为空则隐藏字段

mysql - tinyint 列在调用 =0 时不起作用,但在 =1 时起作用

ios - 我如何以编程方式创建动态文本字段

javascript - knockout : Click button created server side

.net - 在 VB .NET 中在运行时构造动态属性