我有一个mysql表,其中有两个列(firstname和lastname),当我运行(从名称中选择*)查询时,我想要将firstname中的所有值存储到一个自动增量变量中,如name1=john name2=george等,lastname也是如此姓氏1=威廉姆斯姓氏2=詹姆斯。我已经写了这个,但我不能让它工作
<?php
$name="";
$surname="";
$i =1;
$getinfo = "select * from names ";
$query = mysql_query($getinfo);
while ($row = mysql_fetch_array($query)) {
$name.$i. = $row['firstname'];
$surname.$i = $row['lastname'];
}
$i ++;
?>
要实现您想要的目标,您需要使用以下语法:
$i = 1;
while ($row = mysql_fetch_array($query)) {
${'name'.$i} = $row['firstname'];
${'surname'.$i} = $row['lastname'];
$i++;
}
但这不是一个干净的方法。我建议您使用以下数组:
while ($row = mysql_fetch_array($query)) {
$names[] = $row['firstname'];
$surnames[] = $row['lastname'];
}
这是可能的,但做起来很奇怪:
while ($row = mysql_fetch_array($query)) {
++$i;
$nameKey='name'.$i;
$surnameKey='name'.$i;
$$nameKey = $row['firstname'];
$$surnameKey = $row['lastname'];
}
相反,为什么不简单地使用数字数组呢?
while ($row = mysql_fetch_array($query)) {
$name[] = $row['firstname'];
$surname[] = $row['lastname'];
}
或者,更优雅:
while ($row = mysql_fetch_array($query)) {
$persons[] = [
'name' => $row['firstname'],
'surname' => $row['lastname']
];
}