如何在变量中获取mysql_fetch_object()返回的数据

时间:2013-09-25 19:10:25

标签: php mysql

如何在变量中获取mysql_fetch_object()返回的数据。我正在使用下面提到的代码.... 我正在尝试根据条件从DB中获取日期,并且还希望将值一个接一个地存储在变量中。但是当这段代码执行时,它会打印stdobj返回的所有值。

<?php
    $connect=mysql_connect('host','user','xyz') ;
    echo mysql_error();
    $db=mysql_select_db("file_date",$connect);
    echo  mysql_error();
    $append_d="00:00:00";
    $date_test=date('Y-m-d', strtotime("-20 days"));
    $full_d="$date_test "."$append_d";
    $query_d=mysql_query("SELECT time as time_f FROM table WHERE date>='$full_d'");
    $data_s = "";
    while ($row_s = mysql_fetch_object($query_d)) {
      $x_gmail=$row_s->time_f;
      echo $x_gmail;
    }
?>

以下是样本输出

  

- :2013-09-08 13:45:292013-09-09 14:19:192013-09-10 17:30:072013-09-12 11:39:492013-09-12 12:09: 492013-09-12 14:09:482013-09-12 16:09:472013-09-12 18:04:472013-09-12 19:09:462013-09-13 00:05:442013-09-13 17:09:372013-09-14 00:04:342013-09-15 22:59:542013-09-16 12:05:492013-09-16 13:10:482013-09-16 15:35:472013 -09-16 19:05:462013-09-17 13:44:382013-09-18 00:05:342013-09-18 12:05:292013-09-18 14:34:272013-09-18 16 :45:272013-09-18 17:35:272013-09-19 13:45:182013-09-19 21:05:152013-09-20 13:46:082013-09-23 12:59:392013- 09-23 13:45:372013-09-24 13:45:272013-09-25 00:10:23

我希望第一个值2013-09-08 13:45:29可以分配给任何变量,所以当我回显变量x时,它将打印2013-09-08 13:45:29而不是整个对象字符串。

1 个答案:

答案 0 :(得分:1)

您现在正在while循环中打印每个日期字符串。这不是整个对象字符串 - 它们是单独的字符串,但它只是一个很大的块,因为你没有使用换行符来分隔它们。

如果只想要一个日期字符串,那么可以在SQL查询中使用LIMIT子句:

SELECT time as time_f FROM table WHERE date>='$full_d' LIMIT 1;

但是,如果你想拥有所有日期字符串,但想只回显第一个,那么你可以将它们存储在一个数组中并在以后重新使用它:

while ($row_s = mysql_fetch_object($query_d)) {
    $x_gmail[] = $row_s->time_f;
}

你可以像这样使用它:

$x = $x_gmail[0];
echo $x;

那只会打印第一个项目。