2013-01-11 2 views
0

여기 내 목표는 mysql 쿼리의 필드 이름에 변수를 설정하는 것입니다.변수를 SQL 쿼리의 필드 이름으로 설정합니다.

1. $query = "SELECT firstName, lastName FROM users WHERE userName = 'mhopkins321';" 
2. $result = mysql_query($result); 
3. $while($row = mysql_fetch_assoc($result)){ 
4.   $column1 = name_of_column($row['firstName']); 
5. } 
6. echo $column1 

     //Would return the string 

     firstName 

분명히 선 4 아래 일부 의사 코드는 실제 의사 일부 당신은 열 이름의 변수 이름을 지정할

+3

아마 내가 틀렸어.하지만 column1은 "firstName"이 아니겠습니까? 배열에 정적으로 입력 할 때 동적으로 가져 오는 이유는 무엇입니까? 테이블의 모든 열 이름을 가져 오시겠습니까? (당신이 mysql을 사용하고 있기 때문에 ... http://php.net/manual/en/function.mysql-list-fields.php) –

+0

네, 다소 설명하기가 어렵습니다. 둘 중 하나는 행의 값을위한 변수와 필드 이름을위한 변수 두 가지를 가질 수 있어야합니다. 또는이 둘을 가진 배열 인 단일 변수. '$ firstName = [ 'firstName', 'michael']; – mhopkins321

+0

또는 변수 이름을 다른 변수에 문자열로 설정해야 할 수도 있습니다. – mhopkins321

답변

1

이게 당신이 쓴거야?

$query = "SELECT firstName, lastName FROM users WHERE userName = 'mhopkins321';" 
$result = mysql_query($result); 

$all_results = array(); 
$while($row = mysql_fetch_assoc($result)) { 
    $formatted_row = array(); 
    foreach ($row as $column => $value) { 
     $formatted_row[] = array($column, $value); 
    } 
    $all_results[] = $formatted_row; 
} 

하거나 $column를 사용하고 $value 어떻게 당신은 foreach 루프 내 좋아합니다.

또는 특히 reset($row); $first_key = key($row);으로 액세스 할 수있는 첫 번째 열이 필요합니까?

1

되는?

$$row['firstName'] = $row['firstName']; 

또 다른 방법은 다음과 같이이다 :

$query = "SELECT firstName, lastName FROM users WHERE userName = 'mhopkins321'"; 
    $result = mysql_query($result); 
    $row = mysql_fetch_assoc($result); 

    foreach($r as $key=>$value){ 
     $$key = $value; 
    } 

이제 자신의 열 이름 값을 에코 할 수 있습니다.

+0

변수를 지정하지 않고 변수 값을 설정하십시오. – mhopkins321

1

이 중복 소리,하지만 당신은 항상 array_search 사용할 수 있습니다

while($row = mysql_fetch_assoc($result)){ 
    $value = $row['firstName']; 
    $key = array_search($value, $row); 
} 

array_search에 대한 자세한 내용을 참조하십시오.

+0

경고 : array_search()는 매개 변수 2가 배열이 될 것으로 예상하고 /home/queryTest.php에 주어진 리소스를 기대합니다. on line 8' – mhopkins321

+0

내 대답을 편집했습니다. 결과는 검색해야하는 배열이 아닙니다. 오히려'$ row'는 우리에게 필요한 것입니다. – Kyle

관련 문제