“WHERE...LIKE”查询未按预期工作

时间:2014-12-30 作者:Wilson

我有以下疑问:

$results=$facilities=$mydb->get_results("SELECT facility_name from facility where  facility_name like \'%".$facility_name."%\' LIMIT 0, 10");
无论键入什么作为设施名称,它都不起作用。它刚刚回归前十名。

1 个回复
SO网友:Milo

你肯定应该使用prepare 在这种情况下,因为您的查询正在接受输入。如果有人以其他方式破坏您的数据库,那将是非常微不足道的。这里我们还使用new-in-4.0 esc_like method:

$like = \'%\' . $mydb->esc_like( $facility_name ) . \'%\';
$results = $mydb->get_results(
    $mydb->prepare(
        "SELECT facility_name FROM facility WHERE facility_name LIKE %s LIMIT 0, 10",
        $like
    )
);

结束

相关推荐

WP_QUERY条件影响POSTS_PER_PAGE计数

我正在尝试创建一个新的WP_Query 显示cat 1中没有缩略图的最后5篇文章。这实际上是可行的:<?php $the_query = new WP_Query( \'cat=1&posts_per_page=5\' ); while ( $the_query->have_posts() ) : $the_query->the_post(); if ( ! has_post_thumbnail() ) { ?> <li