簡體   English   中英

如何查詢MySQL表列的最高條目並將其存儲在變量中

[英]How do you query a MySQL table columns highest entry and store it in a variable

您如何查詢MySQL表列的最高條目並將其存儲在變量中。 這是我所擁有的,但無法正常工作。

$query = "SELECT MAX(date) FROM Records WHERE ips='$currentip'";
$result = mysql_query($query) or die(mysql_error());
echo $result;

更新:

<?php
$db = mysql_connect("localhost", "123", "123");
mysql_select_db("123");
$currentip='123.456.789';
$query = "SELECT MAX(date) FROM Records WHERE ips='$currentip'";
$date = mysql_result($result, 0);
echo $date;
?>

只是要指出,當您嘗試回顯$result您只是在回顯資源,因為這是mysql_query返回的。

如果要回顯該列,請嘗試:

while($row = mysql_fetch_assoc($result)) {
   echo $row['date'];
}

或者,您可以使用mysql_result將返回值返回為字符串。

$query = "SELECT MAX(date) FROM Records WHERE ips='$currentip'";
$date = mysql_result($result, 0);  
echo $date;

無論哪種都可以,尚未經過測試或編譯。

關於您的更新代碼:

<?php
$db = mysql_connect("localhost", "123", "123");
mysql_select_db("123");
$currentip='123.456.789';
$query = "SELECT MAX(date) FROM Records WHERE ips='$currentip'";
$result = mysql_query($query); // <--you forgot this line.
$date = mysql_result($result, 0); // <--now $result has a valid resource.
echo $date;
?>

我也強烈建議您既然是新的PHP程序員,請養成合並某種形式的錯誤處理/檢查的習慣,例如

$db = mysql_connect("localhost", "123", "123");
if (!$db) {
  die('Could not connect: ' . mysql_error());
}
...
$result = mysql_query($query);
if (!$result) {
  die('Could not perform query: ' . mysql_error());
}

從編程經驗開始就進行錯誤檢查是一種很好的做法,並且從長遠來看將更適合您。

在查詢中使用max()

select max(column_name) from table_name

Max()將與group by子句一起使用

"SELECT MAX(date) AS mdate FROM Records WHERE ips='$currentip' GROUP BY ips"; 
 $myQuery = "SELECT MAX(date) FROM Records WHERE ips='$currentip'";

 $result = mysql_query($myQuery,$connection);

 $mydate= mysql_fetch_row($result);

 echo $mydate[0];

您絕對需要閱讀MySQL函數的手冊章節。 通過從第三方代碼中選擇隨機函數並試圖猜測它們的工作方式來組成程序,只會導致神經崩潰。

總結一下:

  • mysql_query()執行查詢並返回資源ID
  • 您可以使用此類資源ID通過任何mysql_fetch _ *()函數獲取行

我特別喜歡mysql_fetch_assoc():

<?php
# ...
if( $row = mysql_fetch_assoc($resource_id) ){
    echo $row['MAX(date)'];
}
?>

我還建議一些有關基本SQL的教程。 例如,您可以定義別名以使結果更易於處理:

SELECT MAX(date) AS max_date FROM ...
echo $row['max_date'];

最后但並非最不重要的一點是,如果您在閱讀有關SQL注入的信息之前將您的網站放到網上,請告知我們,以便我們對其進行破解;-)(提示: http : //es.php.net/manual/zh/function.mysql-real -escape-string.php

暫無
暫無

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

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