0

我无法从数组中获取值

Array
(
    [0] => id
    [column_name] => id
)
Array
(
    [0] => businessType
    [column_name] => businessType
)
Array
(
    [0] => name
    [column_name] => name
)
Array
(
    [0] => city
    [column_name] => city
)
...

我从

mysql_query("
SELECT column_name 
FROM information_schema.columns 
WHERE table_name='businessUpgrade' 
")

在我的while循环中

while($row = mysql_fetch_array($result)){
   while($column = mysql_fetch_array($colName)){
     if($row[$i] == 1){
             //here comes the missing part
     }
     $i++;
   }
}

我尝试了不同的东西,但根据 print_r,我需要获取的值具有相同数量的 id (0)。有什么办法,我可以从这个数组中获取值。我发现我应该用 foreach 来做,但不知何故,我尝试的一切都失败了。

4

3 回答 3

1

试试这个

$res = mysql_query("
SELECT column_name 
FROM information_schema.columns 
WHERE table_name='businessUpgrade' 
");

while($r = mysql_fetch_row($res)){
$arr[]=$r;
}

笔记 。不要使用mysql。改用 mysqli 或 PDO。

于 2013-03-13T20:12:28.350 回答
1

无需使用 2 个 while 循环。该$row数组是一个关联数组,因此您可以使用...

$columns = array();
// {query}
while($row = mysql_fetch_array($result)) {
    $columns[] = $row['column_name'];
}

var_dump($columns);

您的$columns数组现在包含所有列的索引。这是一个零索引,因此可以使用以下方法单独拉出:

echo $columns[0]; // The first column from the query "id"
echo $columns[2]; // The third column from the query "name"

您还可以根据需要循环该数组。

foreach ($columns as $id => $column) {
    if ($id == 0) {
        // Do something with the first column:
        echo $column;
    } elseif ($id == 2) {
        // Do something with the third column:
        echo $column;
    }
}
于 2013-03-13T20:13:42.813 回答
1

有了这个:

while($row = mysql_fetch_array($result)){
  while($column = mysql_fetch_assoc($colName)){
  if(($column['0'] == $row[$i]) && ($row[$i] == 1)){
         //something like this???
  }
}
  $i++;
}

你的问题有点乱XD ......我希望这无论如何都会有所帮助。

于 2013-03-13T20:17:49.983 回答