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

Php 如何获取mysql_fetch_object()在变量中返回的数据,php,mysql,Php,Mysql,如何获取mysql_fetch_object()在变量中返回的数据。我正在使用下面提到的代码。。。。 我试图根据条件从数据库中获取日期,还希望将值逐个存储在变量中。但是当代码执行时,打印stdobj返回的所有值 <?php $connect=mysql_connect('host','user','xyz') ; echo mysql_error(); $db=mysql_select_db("file_date",$connect); echo mysq

如何获取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;
    }
?>

您现在正在
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;

这将只打印第一项。

请在编写更多SQL接口代码之前,您必须仔细阅读以避免严重的错误。另外,
mysql\u query
不应在新应用程序中使用。这是一个不推荐使用的接口,将从PHP的未来版本中删除。一个现代的替代品。像这样的指导会帮助你避免犯这样的错误。我不确定我是否理解这个问题。如果只需要一行,请在查询中输入
LIMIT 1
。您不会打印整个对象字符串。一次打印一个值。事实上,您是在循环中执行此操作的,没有换行符或间距功能,看起来像一个文本块。只需将其存储在变量中,而不是将其回显出来。这是我无法做到的…我只想在函数mysql\u fetch\u object()时打印第一行值在一个对象中返回它。我刚按照你的建议尝试过,但结果相同。我使用了$x=$x_gmail[0];echo$x;但是整个字符串都会像上面提到的那样被打印出来。当使用限制1时,它无法完成,但我需要使用返回的每个变量,以便一次保存一些变量并使用。@abhinavdixit:您需要在循环外打印它。再读一遍答案。