如何使用 WordPress API 在 PHP 中获取 MySQL 表的列的最大值

Posted

技术标签:

【中文标题】如何使用 WordPress API 在 PHP 中获取 MySQL 表的列的最大值【英文标题】:How to get the maximum value of a column of a MySQL table, in PHP land, using the WordPress API 【发布时间】:2015-12-30 23:23:26 【问题描述】:

这让我很头疼。在 php 领域中,我只需要来自名为 work_carousels 的表中的最大值 id。运行

SELECT MAX(id) FROM work_carousels

直接从 phpMyAdmin 中的命令行返回

   MAX(id)
   -------
     12

我所需要的只是我的 PHP 中的那个数字 12(或目前发生的任何数字)! WordPress API for interacting with the database 告诉我我应该使用

$wpdb->get_results

获取查询结果对应的PHP对象。我试过了

$resultObj = ($wpdb->get_results('SELECT MAX(id) FROM work_carousels'));
$lastAddedCarouselId = $resultObj->MAX(id);  

这不起作用,导致内部服务器错误。我也试过了

$lastAddedCarouselId = ($wpdb->get_results('SELECT MAX(id) FROM work_carousels'));

那没有用。还有其他想法吗?

【问题讨论】:

$resultObj->MAX(id); 将尝试在$resultObj 上调用函数MAX。而是尝试将其别名为查询中的可用名称:SELECT MAX(id) as max_id FROM work_carousels,然后您可以使用$resultObj->max_id 访问它 由于我不知道 $wpdb->get_results() 的实际工作原理,我只是猜测这会完成这项工作(因此它不是答案) 【参考方案1】:

这应该可行:

SELECT id FROM work_carousels ORDER BY id DESC LIMIT 1;

【讨论】:

【参考方案2】:

对我来说,这段代码有效

<?php
$max_id = $wpdb->get_var( 'SELECT MAX(id) FROM ' . $wpdb->prefix . 'work_carousels' );

更多关于$wpdb-&gt;get_var()这里https://developer.wordpress.org/reference/classes/wpdb/get_var/

【讨论】:

以上是关于如何使用 WordPress API 在 PHP 中获取 MySQL 表的列的最大值的主要内容,如果未能解决你的问题,请参考以下文章

php Wordpress查询字符串使用瞬态API

使用操作挂钩创建自定义Wordpress REST API端点

如何在 wordpress functions.php 中发送一系列类别和帖子?

php WordPress休息api定制;丢弃端点,添加新字段,在api中显示cpt

php [瞬态API设置] #PHP #WordPress

php Wordpress在WP REST API上添加自定义帖子类型