我有两个表,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];

09-25 16:52