将SQL select转换为PHP字符串变量
我试图选择列中ID最大的最新元素,然后将其转换为字符串变量。该表是一个标准的WordPress将SQL select转换为PHP字符串变量,php,mysql,sql,wordpress,woocommerce,Php,Mysql,Sql,Wordpress,Woocommerce,我试图选择列中ID最大的最新元素,然后将其转换为字符串变量。该表是一个标准的WordPresswp\u postETA,包含以下元素:meta\u id,post\u id,meta\u key,meta\u value。我想获取最新的post\u id(数字最高),然后将其作为变量字符串用于后面的操作 到目前为止,我得到的代码是: $order = mysql_query('SELECT MAX(post_id) FROM wp_postmeta') 当然,这并不完整。我只想让$order与
wp\u postETA
,包含以下元素:meta\u id
,post\u id
,meta\u key
,meta\u value
。我想获取最新的post\u id
(数字最高),然后将其作为变量字符串用于后面的操作
到目前为止,我得到的代码是:
$order = mysql_query('SELECT MAX(post_id) FROM wp_postmeta')
当然,这并不完整。我只想让$order与数据库中最新的订单ID相对应,以便在结帐后注入一些额外的信息
例如,如果数据库中有一个值为2700的post_id,并且它是最新的post_id
,具有最高的id号,那么我希望$order
实际为2700
另外一个很好的方法是获得
$order2
,它的值为$order+1
——以防万一。试试这样的方法:
$result= mysql_query('SELECT MAX(post_id) order FROM wp_postmeta');
$res = mysql_fetch_assoc($result);
$order= $res["order"];
首先,在WordPress中,您不应该使用
mysql\u query
,而应该使用$wpdb
类:
您可能想要的是以下内容:
$wpdb->get_row('SELECT *,MAX(ID) FROM $wpdb->posts WHERE post_type="offer" GROUP BY ID);
一般来说,WordPress查找帖子的方法是meta\u query
——不要使事情过于复杂:
请不要再使用
mysql_*()
函数,因为从第7版起,这些函数已被弃用并从PHP中删除。用或来代替。@JiriHrazdil我认为指出这一点是多余的。他甚至没有费心去完成关于PHP及其与mysql集成的最简单教程,也没有阅读关于这方面的文档,甚至是旧文档。这就像我买了一辆车,然后打电话给客户支持,询问我应该坐在哪个座位上。换成mysqli,谢谢。我在StackExchange上发现了这一点,并不假思索地粘贴了它,只更改了数据库。做或不做,都没有“尝试”。一个好的答案总是会有一个解释,说明做了什么以及为什么这样做,不仅是为了OP,也是为了未来的访客。扭转潮流,反对教授/传播草率和危险的编码实践。如果你在没有准备好陈述的情况下发布了答案。此外,我知道这不是最受欢迎的答案,但老实说,这只需要工作一小段时间,这样外部应用程序就可以为最后处理的订单向数据库注入额外的数据。该应用程序将在一周内被废弃,我已经准备了大部分代码,只需要这个$order就可以了。以后如何将其插入SQL查询?$_POST(“订单”)有效吗?还是我需要额外的变量?谢谢,我相信这是最好的解决方案。然而,应用程序处理这是外部的,我没有足够的编程技能将其与WP集成。我只需要这个过程就行了,这可能是最快最脏的方式。无论如何,该申请将于下周作废。