这是表结构 -
Table: test
+------+---------+
| PAGE | CONTENT |
+------+---------+
| 1 | ABC |
+------+---------+
| 2 | DEF |
+------+---------+
| 3 | GHI |
+------+---------+
PAGE
是数据类型为INT(11)
的Primary。它不会自动递增。 CONTENT的数据类型为TEXT
。
在PHP中我做 -
$result = mysql_query(SELECT MAX(PAGE) FROM test);
$row = mysql_fetch_array($result);
echo $row["PAGE"];
没有输出。完全没有。如果我做像echo "Value : ".$row["PAGE"];
这样的事情,我看到的就是Value :
查询SELECT * FROM test
工作得很好。我在某处使用MAX()
语法错了吗?
我希望它能够返回PAGE
的最大值。
这应该是代码。
$result = mysql_query("SELECT MAX(PAGE) AS max_page FROM test");
$row = mysql_fetch_array($result);
echo $row["max_page"];
你不应该在mysql_query
中有关于该查询的引号吗?我不知道PHP会用这种语法不合适的语句做什么,我原以为它会给你一个错误。
在任何情况下,聚合函数可能具有与用于它的列不同的列名(从内存中,DB2为其赋予与函数类似的名称,如max_page_
或其他内容)。您可能希望通过强制名称来确保它具有正确的列名称:
$result = mysql_query("SELECT MAX(PAGE) AS MAXPAGE FROM TEST");
$row = mysql_fetch_array($result);
echo $row["MAXPAGE"];
试试下面的代码
$result = mysqli_query($con,"SELECT max(page2_content_id) AS max_page from page2_content_data");
$row = mysqli_fetch_array($result);
echo $row["max_page"];
其中$con=new mysqli($server,$user,$password,$db_name);
和page2_content_data是我的表,page2_content_id是列名
$connect = mysqli_connect("localhost", "root", "", "carBid") or die("not connected");
//connection to database
$sql2 = "SELECT max(mybid) FROM `bid`";
//simle select statement with max function
$result_set2 = mysqli_query($connect,$sql2);
//query a result fetch
if ($result_set2) {
$rowB = mysqli_fetch_array($result_set2);
//feching a result in array format
echo $rowB['max(mybid)'];
//accessing array by name of column with max() function of mysql
} else {
echo 'No Current Bid';
}
mysqli_close($connect);
我在我的代码中使用了类似的东西;
$maxscore_query = mysql_query("SELECT MAX(`score`) FROM `allscores` WHERE`level`='$levelcode'");
echo mysql_result($maxscore_query, 0);
这里的不同之处在于使用WHERE来选择组。
而mysql_result($maxscore_query, 0);
对我来说更容易管理。