首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从数据库中选择并存储在数组中

从数据库中选择并存储在数组中
EN

Stack Overflow用户
提问于 2011-07-22 07:13:06
回答 2查看 22.1K关注 0票数 1

我想从db中选择一些数据并存储在一个数组中。假设我的db表中有一个列“关键字”。我想选择关键字列类似于“自然”的所有行。

我正在尝试以下代码:

代码语言:javascript
复制
<?
    $term= "nature";    
    $arr = array();

    $sql = "select keyword from keywords where keyword LIKE '%$term%'";
    $result = mysql_query($sql) or die(mysql_error());  
    $rows = mysql_fetch_array($result); 
    foreach ($rows as $row){
            array_push($arr, $row['keyword']);
        }

    print_r($arr); //output: Array ( [0] => n [1] => n ) 

    ?>

因此,db的结果应该只返回一个关键字'nature‘,我需要将其存储在数组中。

  1. 为什么要存储相同的字符串两次?在db中没有类似于性质一词的任何其他行。
  2. 为什么只在数组中存储第一个字母?难道它不应该储存“自然”而不是“n”吗?

请帮我修一下这个。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-22 07:18:41

应该是这样的

代码语言:javascript
复制
$term   = "nature";    
$arr    = array();
$sql    = "select keyword from keywords where keyword LIKE '%$term%'";
$result = mysql_query($sql) or die(mysql_error());  
while( $row = mysql_fetch_assoc( $result ) ) {
 arr[] = $row[ 'keyword' ];
}

在解决方案中,您只将结果集中的第一条记录作为数字索引数组获取。

顺便说一句,您知道以通配符开头的类似查询不能使用任何索引吗?

票数 7
EN

Stack Overflow用户

发布于 2011-07-22 07:16:54

使用mysql_fetch_assoc而不是mysql_fetch_array

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

https://stackoverflow.com/questions/6786788

复制
相关文章

相似问题

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