如何在变量中获取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而不是整个对象字符串。
答案 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;
那只会打印第一个项目。