PHP MYSQL $行[$变量]
Posted
技术标签:
【中文标题】PHP MYSQL $行[$变量]【英文标题】:PHP MYSQL $row[$variable] 【发布时间】:2012-07-29 22:35:06 【问题描述】:我正在尝试解决动态表创建和数据获取问题。我正在尝试使用以下代码获取数据:
$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 $myQuery;
并将响应放在这里吗?也可能是来自var_dump($row);
的结果
【参考方案1】:
您正在获取一个数组,而不是 assoc array。使用这个:
echo "<br>".$row[0];
编辑:看了一点,这可能不正确。您可以设置 fetch_array 以返回关联数组。
不能通过单引号解析变量
echo $row['col_name']; // manually typed string.
或
echo $row[$col_name];
或
echo $row["$col_name"];
【讨论】:
谢谢 效果很好。最后一个选项工作正常。非常感谢!【参考方案2】:你试过了->
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 所说的那样,它不是关联数组
【讨论】:
【参考方案3】:您是否尝试过像这样循环遍历结果数组:
while($row = mysql_fetch_array($result))
echo $row['col_name'];
echo "<br />";
【讨论】:
【参考方案4】:我会建议以下解决方案。给参数$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'];
【讨论】:
以上是关于PHP MYSQL $行[$变量]的主要内容,如果未能解决你的问题,请参考以下文章