[英]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_name
和AS 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.