Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用while循环将mysql行转换为变量_Php_Mysql - Fatal编程技术网

Php 使用while循环将mysql行转换为变量

Php 使用while循环将mysql行转换为变量,php,mysql,Php,Mysql,我正在尝试将数据输出到一个xml文件中,除了只保存最后获取的记录外,一切正常 使用以下查询: $query = mysql_query("SELECT mileage FROM cars WHERE make ='bmw' ORDER BY date DESC, time DESC LIMIT 3"); while ($row = mysql_fetch_array($query)){ $result = $row['mileage']; } 我的问题是如何使每个记录保存在3个单独的变量中,以

我正在尝试将数据输出到一个xml文件中,除了只保存最后获取的记录外,一切正常

使用以下查询:

$query = mysql_query("SELECT mileage FROM cars WHERE make ='bmw' ORDER BY date DESC, time DESC LIMIT 3");
while ($row = mysql_fetch_array($query)){
$result = $row['mileage'];
}
我的问题是如何使每个记录保存在3个单独的变量中,以便将这3个变量输出到xml文件中。我还试图只获取按最后日期和最后时间排序的最后3行,因此不确定查询是否正确


谢谢。

尝试将输出保存为数组

$array[]=$value;
将$value推送到$array数组中。

您可以使用以下命令:

$query = mysql_query("SELECT mileage FROM cars WHERE make ='bmw' ORDER BY date DESC, time DESC LIMIT 3");
while ($row = mysql_fetch_array($query)){
$result[] = $row['mileage'];
}
您可以
foreach
$result并构造您的xml。

获取一个函数

然后就叫它

$data = dbGetCol("SELECT mileage FROM cars WHERE make ='bmw' ORDER BY date DESC, time DESC LIMIT 3");

第一:不要使用mysql_*函数!它们已经过时,您应该使用它们

第二:最简单的方法是构造一个包含结果的数组

$result = array();
$query = mysql_query("SELECT mileage FROM cars WHERE make ='bmw' ORDER BY date DESC, time DESC LIMIT 3");
while ($row = mysql_fetch_array($query)){
    $result[] = $row['mileage'];
}

查询结果现在包含在
$result[0]
$result[1]
$result[2]
中。(如果您使用PDO,代码看起来不会有太大的不同。)

谢谢,我想下次我会使用这个。哈哈。下次你在说什么?如果您不知道什么是函数以及如何使用它,只需这样说,无需犹豫:)谢谢,是的,它正在使用$result[0]、$result[1]和$result[2]工作。
$result = array();
$query = mysql_query("SELECT mileage FROM cars WHERE make ='bmw' ORDER BY date DESC, time DESC LIMIT 3");
while ($row = mysql_fetch_array($query)){
    $result[] = $row['mileage'];
}
$result=array();
$query = mysql_query("SELECT mileage FROM cars WHERE make ='bmw' ORDER BY date DESC, time DESC LIMIT 3");
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$result[]  = $row['mileage'];

}