简体   繁体   中英

Get value in a table1 column with the column name is value in table2

I have two table, table2 has nameColumn that include name of table1 column like

table 1

id|check|status|...|
1 |abc  |1     |...|

table2

|nameColumn|...|
|check     |...|
|status    |...|

I want get value in table1 with column name is value in table2 like

    $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? 
    }

I don't know why $value = $rowTable["'".$columnName."'"]; fail the error like

Notice: Undefined index: 'check' ... 

But if i using direct like $value = $rowTable['check']; // working why? $value = $rowTable['check']; // working why?

How to fix that thanks

its failing because your adding unnecessary ' char to it. try the code below

 $value = $rowTable[$columnName];
       $value = $rowTable['".$columnName."'];

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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