首页 > 解决方案 > WordPress - 数据库 FIND_IN_SET

问题描述

我在表的 post_content 中有数据 - wp_posts 如下所示:

[["ROLL NO.","SID NO","N A M E","M/F"],
["1","1801031101","K. NISHA GOVIND","F"],
["2","1809031101","PATEL RAJ DIRAJ","M"],
["3","1801031901","SHARMA CHARMI J","F"],
["4","1891031101","PATEL HIRAL J","F"],
["5","1801031301","SHAH BRIJESH V","M"],
["6","1801031709","PAREKH HITESH R","M"]]

现在我想比较 SID NO 并尝试如下:

选项1:

$results_match_roll = $wpdb->get_results('SELECT * FROM '.$table_name.' WHERE find_in_set('.$rollNumber.', post_content) '); 

选项 2:

$results_match_roll = $wpdb->get_results('SELECT * FROM wp_posts WHERE post_content LIKE '%$rollNumber); 

但没有运气。请指导我完成。

标签: mysqlwordpress

解决方案


FIND_IN_SET查找以逗号分隔的值。既然你SID NO"你需要检查如下。即在 of 之前和之后包括双引号SID NO

$results_match_roll = $wpdb->get_results("SELECT * FROM $table_name WHERE find_in_set('\"$rollNumber\"', post_content) ");

推荐阅读