我的目标是将变量设置为mysql查询中的字段名称。
下面的一些伪代码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行是真正的伪部分
答案 0 :(得分: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;
}
现在,您可以按列名称回显值。
答案 1 :(得分:1)
这听起来多余,但你总是可以使用array_search:
while($row = mysql_fetch_assoc($result)){
$value = $row['firstName'];
$key = array_search($value, $row);
}
有关array_search的更多信息,请参阅
答案 2 :(得分: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);
?