-1

如何在变量中获取 mysql_fetch_object() 返回的数据。我正在使用下面提到的代码....我正在尝试根据条件从数据库中获取日期,并且还希望将值一一存储在变量中。但是当这段代码执行时,它会打印 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 而不是整个对象字符串。

4

1 回答 1

1

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

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

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;

那只会打印第一个项目。

于 2013-09-25T19:18:58.590 回答