首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MYSQL跳过一次查询后的一列取取

问MYSQL跳过一次查询后的一列取取
EN

Stack Overflow用户
提问于 2014-04-17 13:47:34
回答 2查看 92关注 0票数 0

我需要在mysql中运行查询并以某种方式分解输出,但是查询是由第三方提供的,我无法更改它们。一个例子是:

代码语言:javascript
复制
SELECT j.`First Name`, j.`Last Name`, c .*
 FROM PersonalInfo j
    INNER JOIN
      Evaluations c
      ON j.UIN = c.UIN

其中,表PersonalInfo有人的个人信息,表评估存储人的评估。“评估”表包含blob字段,其中存储了评估的pdf(有时很重)。

这个查询的问题是,由于计算中有blob字段,并且这些字段是在SELECT语句中选择的,所以在执行$result>fetch_assoc()时,我没有任何选项可以读取这些字段,如下所示

代码语言:javascript
复制
if ($result = $mysqli->query($DTIS->query)){
   while ($row = $result->fetch_assoc()) {
    // at this point I believe the (heavy) blob info has been fetched and put into $row["blobfield"] right ?
    // if field is blob display just a link, otherwise the info.
   }
}

是否有一种方法可以跳过特定列的抓取,这样我就可以快速显示表,而无需读取任何沉重的blob信息?记住,我不能更改查询字符串。任何代码模板也是值得赞赏的。

谢谢你的帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-17 14:39:29

您可以使用下面的方式明智地访问您的数据字段,不过,它有些冗长,但可能对您有用:

  1. 首先,查找查询//的行数,可以使用mysql_num_rows获取这些行数。
  2. 以下面的方式循环使用该数字,以便一个接一个地获得选定的字段数据。 $result = mysql_query($query);$count = mysql_num_rows($result);$i = 0;while ($i < $count) { $firstColumnData[] = mysql_result($result,$i,'first_field_name');$secondColumnData[] = mysql_result($result,$i,‘secondColumnData[]’);;}

这样,您可能只能从mysql结果集获得所需的字段数据。

票数 1
EN

Stack Overflow用户

发布于 2014-04-17 13:50:26

如果查询是由第三方提供的,而您不能更改它们--不行。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23134930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档