将sql放入变量中

时间:2013-02-01 13:48:18

标签: php

mysql_query中有两行,我希望每行放入变量$ date1和$ date2。我的示例代码如下。

while($row=mysql_fetch_array($sql)) {
  $date1 = $row['TheDate'];
  $date2 = $row['TheDate'];
}
echo $date1;
echo $date2;

4 个答案:

答案 0 :(得分:0)

虽然我不知道您为什么要将$date1$date2而不是$date作为两个元素的数组,但这是一种方法:

$i = 1;
while($row=mysql_fetch_assoc($sql)){
    ${"date".$i} = $row['TheDate'];
    $i++;
}
echo $date1;
echo $date2;

一种正确的方法是将它们分配到一个数组中并访问这样的数据:

while($row=mysql_fetch_assoc($sql)){
    $date[] = $row['TheDate'];
}
echo $date[0];
echo $date[1];

要比较两个日期,您可以执行以下操作:

$difference = $date2- $date1;

或在数组方法中:

$difference = $date[1] - $date[0];

答案 1 :(得分:0)

我认为这就是你所需要的。

$dates = array();
$allData = array();
while($row=mysql_fetch_array($sql)){ // switch to mysqli or PDO
    $dates[] = $row['TheDate']; // $dates will have all the dates
    $allData[] = $row; // $allData will have all the data in the query
}

print_r($dates);

<强> PS:

请考虑将代码切换为MySQLi或PDO - 自PHP 5.5起不再使用MySQL,并且不再维护。

答案 2 :(得分:0)

while($row=mysql_fetch_array($sql)){
     $results[] = $row['TheDate1']
}
echo $results[0];
echo $results[1];

答案 3 :(得分:0)

您要做的是创建一个数组:

$dates = array();
while($row=mysql_fetch_array($sql)) {
    $dates[] = $row['TheDate'];
}

var_dump($dates);

// Now if you *really* insist in having it in separate variables you could do:

list($date1, $date2) = $dates;

此外:

Please, don't use mysql_* functions in new code。它们不再被维护and are officially deprecated。请参阅red box?转而了解prepared statements,并使用PDOMySQLi - this article将帮助您确定哪个。如果您选择PDO here is a good tutorial