繁体   English   中英

PHP MYSQL $ row [$ variable]

[英]PHP MYSQL $row[$variable]

我正在尝试使用动态表创建和数据提取。 我试图使用以下代码获取数据:

    $myQuery = "SELECT ".$col_name." FROM ".$tabname." WHERE sampleid='".$sid."'";
    $result = mysql_query($myQuery);
    $row = mysql_fetch_array($result);
    echo "<br>".$row['$col_name'];

但是,我无法获得任何数据。 我检查打印查询并在php我的管理员运行它,它按我的意愿工作。 但我想我猜数组中的变量可能不起作用。 请帮我一下。 谢谢。

整个循环看起来像这样:

$myQuery = "SELECT * FROM information_schema.columns WHERE table_name = '$tabname'";
$re = mysql_query($myQuery);

while($row = mysql_fetch_array ($re)){
         if(!empty ($row)){
                    $col_name = $row['COLUMN_NAME'];

          $myQuery = "SELECT ".$col_name." FROM ".$tabname." WHERE sampleid='".$sid."'";
                    echo "<br>".$myQuery;
                    $reqq = mysql_query($myQuery);
                    $roww = mysql_fetch_array($reqq);
                    echo "<br>".$roww[$col_name];

                    }
                }

您正在获取数组,而不是关联数组 用这个:

echo "<br>".$row[0];

编辑:看了一下,这可能不正确。 您可以设置fetch_array以返回assoc数组。

你不能通过单引号解析变量'

echo $row['col_name'];  // manually typed string.

要么

echo $row[$col_name];

要么

echo $row["$col_name"];

你试过 - >

echo "<br>".$row[$col_name];

要么

    $myQuery = "SELECT ".$col_name." FROM ".$tabname." WHERE sampleid='".$sid."'";
    $result = mysql_query($myQuery);
    $row = mysql_fetch_assoc($result);
    echo "<br>".$row[$col_name];

原因就像@Fluffeh说的那样,它不是一个关联数组

您是否尝试过循环遍历结果数组:

while($row = mysql_fetch_array($result)) {
echo $row['col_name'];
echo "<br />";
}

我建议以下解决方案。 给出参数$col_nameAS Col_Name然后,无论值是什么,总是可以将$ row ['Col_Name']设置为参数。

$myQuery = "SELECT ".$col_name." AS Col_Name FROM ".$tabname." WHERE sampleid='".$sid."'"; 
    $result = mysql_query($myQuery); 
    $row = mysql_fetch_array($result); 
    echo "<br>".$row['Col_Name']; 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM