0

mysql db 列から最高値をフェッチする必要があります。タイムスタンプです。mysql MAX 関数を使用しても機能しません。次のコードを参照してください。

//Create new db object
$db = new Db();

//Query
$qr_changelog = $db->query("
    SELECT MAX(log_datetime) FROM ca_change_log
");

//Fetch result
$last_change = $qr_changelog->get('log_datetime');

//Print result
echo "Last Change:" . $last_change;

MAX 関数を使用せずにクエリを実行すると、機能します (ただし、明らかにすべての値が返されます)。mysql サーバー コンソールからクエリを実行すると、機能します。Apache ログにエラーは表示されません。

私もmysqliで試しました:

$db1 = new mysqli('localhost', 'user', 'passwd', 'db');

if($db1->connect_errno > 0){
    die('Unable to connect to database [' . $db1->connect_error . ']');
}

$qr_changelog = $db1->query("
    SELECT MAX(log_datetime) FROM ca_change_log");

while($row = $qr_changelog->fetch_assoc()){
    echo $row['log_datetime'] . '<br />';
}

何か案は?

4

2 に答える 2

3

これを行う必要があります:

SELECT MAX(log_datetime) AS something FROM ca_change_log  GROUP BY log_datetime

$qr_changelog->get('something');
于 2013-08-17T15:21:23.467 に答える
1

最大値を指定した場合は、SQL を注文して値を制限できます。このようなもの: SELECT log_datetime FROM ca_change_log order by log_datetime dec limite (1).

于 2013-08-17T15:26:27.860 に答える