这是表结构 -
Table: test
+------+---------+
| PAGE | CONTENT |
+------+---------+
| 1 | ABC |
+------+---------+
| 2 | DEF |
+------+---------+
| 3 | GHI |
+------+---------+
PAGE
是主数据类型为INT(11)
的主数据库。它不会自动递增。 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
的最大值。
答案 0 :(得分:11)
这应该是代码。
$result = mysql_query("SELECT MAX(PAGE) AS max_page FROM test");
$row = mysql_fetch_array($result);
echo $row["max_page"];
答案 1 :(得分:2)
您是否应该在mysql_query
中围绕该查询引用?我不知道PHP会用这种语法不合适的语句做什么,我原以为它会给你一个错误。
在任何情况下,聚合函数可能具有与用于它的列不同的列名(从内存中,DB2为其赋予与函数类似的名称,如max_page_
或其他内容)。您可能希望通过强制名称来确保它具有正确的列名:
$result = mysql_query("SELECT MAX(PAGE) AS MAXPAGE FROM TEST");
$row = mysql_fetch_array($result);
echo $row["MAXPAGE"];
答案 2 :(得分:1)
尝试以下代码
$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 是列名称
答案 3 :(得分:0)
$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);
答案 4 :(得分:0)
我在代码中使用了类似的内容;
$maxscore_query = mysql_query("SELECT MAX(`score`) FROM `allscores` WHERE`level`='$levelcode'");
echo mysql_result($maxscore_query, 0);
这里的区别是使用WHERE选择组。
mysql_result($maxscore_query, 0);
对我来说更容易管理。