php - IN 子句仅返回 1 行

标签 php mysql in-clause

我的链接表中有一个链接和标题列表,我尝试使用 IN 子句返回它们,但查询永远不会返回超过一行的内容,并且始终返回集合的最小行。

SELECT title, url 
FROM opsx_links 
WHERE linkid IN('61','60','10','24','15','20','30','47')

这应该返回所有 8 个链接,因为它们都存在,但它只返回第 10 项的信息。如果我从列表中删除第 10 项,它只会返回第 15 项,依此类推。

我会失去它还是什么?

我用 Google 搜索了一下,但找不到任何遇到此问题的人。

谢谢。

-V

好吧,我的错,这是 php 代码

public function getLinks ($data) {
   $query  = $this->db->Fetch ("SELECT title, url 
             FROM {$this->prefix}links WHERE linkid IN(" . $data . ")");
   $result = $this->db->FetchObject ($query);

   foreach ($result as $key => $value):

      $result->$key = $this->replace_strings ($value);

   endforeach;

   $this->db->Free ($query);

   return $result;
}

尝试过这个每杰伦

$res = array();

while ($result = $this->db->FetchObject ($query)):

    $res['title'] = $result->title;
    $res['url']   = $result->url;

endwhile;

现在仅返回第一行,而不是最小行。

到底是什么?

好吧,经过多次尝试和错误以及各位专家的帮助,这就是答案。

public function getLinks ($data) {
     $query  = $this->db->Fetch ("SELECT title, url 
               FROM {$this->prefix}links WHERE linkid IN(" . $data . ")");  
     $res = array ();
     while ($results = $this->db->FetchArray ($query)):
          $obj = new stdClass;
          $obj->title = $results['title'];
          $obj->url = $this->replace_strings($results['url']);
          $res[] = $obj;
     endwhile;

     $this->db->Free ($query);

     return (object)$res;
}

感谢您的帮助。

最佳答案

编辑:您只能从结果集中获得一个结果:

$result = $this->db->FetchObject ($query);

应该是这样的:

$my_results = array();
while ($result = $this->db->FetchObject ($query))
{
  // make a new / clone the object, add it to the array and do the processing
}
return $my_results;

关于php - IN 子句仅返回 1 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9986092/

相关文章:

php - 成功插入后记录未更新

mysql - 我如何为 phpmyadmin 在 'IN Clause' 中创建 select 语句的过程

python - 如何从 database_url 解析 mysql 数据库名称

mysql - 连接mysql中的值,其中一个表中的多行与另一个表中的一行相关而不显示多行

java - SPRING|Java - 在查询中使用带有 SpEl 的 IN 子句

php - 是否可以使用mysql中的in子句在多个列中搜索一个值?

php - 解决在 laravel 5.4 应用程序中升级到 php 7.2 的问题

php - 插入到 MYSQL 表中的值与原始值不同

php - 尝试检索结果时,使用 PHP 类连接到数据库不起作用

PHP mySQL - 将新记录插入表中,主键自动递增