简体   繁体   English

如何在此sql查询中使用0-20之间的范围?

[英]How I can use a range between 0-20 on this sql query?

How I can use a range between 0-20 on this sql query? 如何在此sql查询中使用0-20之间的范围?

  $sql = 'SELECT * FROM t1
          LEFT JOIN t2 ON t2.wid = t1.wid  
          UNION
          SELECT * FROM t1
          RIGHT JOIN t2 ON t2.wid = t1.wid
          limit 0, 20';
  $result = db_query($sql);//->fetchField();

Pass LIMIT into your query. 将LIMIT传递到您的查询中。 and your limit would be variable every time like 每次您的限额都会变化

$sql = 'SELECT * FROM (SELECT * FROM t1
          LEFT JOIN t2 ON t2.wid = t1.wid  
          UNION
          SELECT * FROM t1
          RIGHT JOIN t2 ON t2.wid = t1.wid) AS A LIMIT'.$start.','.$end

please please sanatize your query as this is very easy to SQL inject. 请清理您的查询,因为这很容易通过SQL注入。 For drupal it should be: 对于drupal,应为:

$result = db_query('SELECT * FROM (SELECT * FROM t1
      LEFT JOIN t2 ON t2.wid = t1.wid  
      UNION
      SELECT * FROM t1
      RIGHT JOIN t2 ON t2.wid = t1.wid) AS A LIMIT :min, :max',
      array('min' => $min, 'max' => $max));

There are better Drupal ways to write this but this is ok as long as you pass the variables as arguments. 有更好的Drupal方法来编写此代码,但是只要您将变量作为参数传递就可以。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM