【问题标题】:How to search in all columns of a table?如何在表格的所有列中进行搜索?
【发布时间】:2015-05-26 16:55:31
【问题描述】:

我正在使用此代码来查找“网站”列中是否有与$string匹配的字段:

$get_results = $wpdb->get_results($wpdb->prepare(
     "SELECT * FROM yc_customers WHERE website LIKE %s LIMIT 10", 
     "%{$wpdb->esc_like($string)}%"
));

这可行,但我想知道 ANY COLUMN 中是否有与 $string 匹配的字段。

我以为我可以只使用 WHERE * 但这对我不起作用。

【问题讨论】:

标签: php mysql sql wordpress


【解决方案1】:

据我所知,唯一允许指定字段的“通配符”位于SELECT 中。

【讨论】:

    【解决方案2】:

    没关系,我找到了自己的解决方案:

    $get_results = $wpdb->get_results($wpdb->prepare(
        "SELECT * FROM yc_customers WHERE website LIKE %s OR receiver LIKE %s OR email LIKE %s LIMIT 10",
            "%{$wpdb->esc_like($string)}%",
            "%{$wpdb->esc_like($string)}%",
            "%{$wpdb->esc_like($string)}%"
    ));
    

    【讨论】:

    • 这真的不是问题的答案。它手动处理您要搜索的每一列。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-16
    • 1970-01-01
    • 2016-06-15
    • 1970-01-01
    • 2015-07-29
    • 2016-06-21
    • 2021-01-24
    相关资源
    最近更新 更多