我有两个表,table2具有nameColumn
,其中包括table1列的名称,例如
表格1
id|check|status|...|
1 |abc |1 |...|
表2
|nameColumn|...|
|check |...|
|status |...|
我想在table1中获取值,列名是table2中的值,例如
$sql="SELECT * FROM `table1` WHERE `id` = 1 ";
$result = mysqli_query($conn,$sql) or die (mysql_error ());
$rowTable = mysqli_fetch_array($result);
$s = "SELECT * FROM table2";
$r = mysqli_query($conn,$s);
while($row1 = mysqli_fetch_array($r)){
$columnName = $row1['nameColumn'];
$value = $rowTable["'".$columnName."'"]; // fail why?
//$value = $rowTable['check']; // working?
}
我不知道为什么
$value = $rowTable["'".$columnName."'"];
失败,如Notice: Undefined index: 'check' ...
但是,如果我使用像
$value = $rowTable['check']; // working why?
这样的直接方式如何解决这个问题
最佳答案
其失败,因为您向其中添加了不必要的'
字符。试试下面的代码
$value = $rowTable[$columnName];