簡體   English   中英

如何從mysql查詢max id?

[英]How to query the max id from mysql?

我搜索了一些資源,但我還是無法做到。 我想從max id中檢索數據。 我在.php中有一些代碼來進行查詢

<?php

$DB_HostName = "mysql8.000webhost.com";
$DB_Name = "";
$DB_User = "";
$DB_Pass = "";
$DB_Table = "";

$con = mysql_connect($DB_HostName,$DB_User,$DB_Pass) or die(mysql_error()); 
mysql_select_db($DB_Name,$con) or die(mysql_error()); 

$query = "SELECT MAX(id),recommendData,room,level  FROM $DB_Table";

$res = mysql_query($query,$con) or die(mysql_error());

mysql_close($con);

$rows = array();

while ($r = mysql_fetch_assoc($res))
{
    $row["maxid"] = array(
        "level" => $r["level"],
        "recommendData" => $r["recommendData"],
        "room" => $r["room"],
        "id" => $r["MAX(id)"]
    );
}

header('Content-type: application/json');

echo json_encode($row);
die;
?>

結果顯示如下:

{"maxid":{"level":"2","recommendData":"8","room":"4F","id":"4"}}

id是正確的,但是level,recommendationData,room的數據來自第一個id。 我做錯了什么?

你可以試試

$query = "SELECT id,recommendData,room,level  FROM $DB_Table ORDER BY id DESC LIMIT 1";

因為目前您正在獲取最大ID加上其他信息

-

請不要使用mysql_ *函數。

請改用MySQLiPDO

你可以在這里閱讀更多信息

執行查詢的正確方法是:

SELECT id, recommendData, room, level
FROM $DB_Table
ORDER BY id desc
LIMIT 1;

也就是說,根本不要進行聚合。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM