我知道它可能是旧的,但我需要声明一个变量,或者我认为这是。
基本上我得到了一个表名请求,我需要从列日期中获取最后一个值。我在phpMyAdmin做过。现在我需要确定精确值并将其用作php中的变量。
<?php
include 'mydb.php';
require_once 'init.php';
$user_id = $user->data()->id ;
$data = mysql_query("SELECT date FROM request WHERE user_id= $user_id ORDER BY latest_request DESC LIMIT 1") or die(mysql_error());
$test = array();
while($row = mysql_fetch_array( $data ))
{
echo "<td>" .$row['date']. "</td>" ;
}
?>
<?php
$current_date = echo "<td> .$row['date']. "</td>" ;
// result im expecing is 2016-10-17 23:53:48
// echo " $current_date" --- will be 2016-10-17 23:53:48
>?
但我得到的只是一个空值,我该怎样才能完成这个
答案 0 :(得分:0)
如果你想只有一个,最后一行,那么也许更好的想法会是这样的:
$sql = 'SELECT date FROM request WHERE user_id= $user_id ORDER BY latest_request DESC LIMIT 1';
$result = mysql_query($sql, $yourDBCon) or die(mysql_error());
$row = mysql_fetch_assoc($result);
print_r($row);
此解决方案只为您提供一行。
还要确保从sql statment获得任何内容。
答案 1 :(得分:0)
这是一个有效的代码(基于您说while()
- 循环有效,并且您实际获得的结果为$row['date']
:
<?php
include 'mydb.php';
require_once 'init.php';
$user_id = $user->data()->id ;
$data = mysql_query("SELECT date FROM request WHERE user_id = $user_id ORDER BY latest_request DESC LIMIT 1") or die(mysql_error());
while($row = mysql_fetch_array( $data )) {
echo $lastdate = '<td>'.$row['date'].'</td>' ;
}
echo $current_date = '<td>'.$lastdate.'</td>' ;
?>
答案 2 :(得分:0)
我能够通过使用pdo insted来解决这个问题
<?php
$base_datos = DB::getInstance();
$base_datos->query ("SELECT req_date FROM request wHERE user_id = $user_id order by req_date desc limit 1");
$last_date = $base_datos->results();
$request_last_date = $last_date[0];
$c_date =$request_last_date->req_date;
echo "$c_date";
?>
这是从我的数据库中的表中获取值并将其声明为值