【问题标题】:Accessing information in array访问数组中的信息
【发布时间】:2013-06-05 00:32:46
【问题描述】:

好的,我对 php 中的数组有点困惑。这是代码

$search = "%" . $search ."%";
// Step 1: Establish a connection
$db = new PDO("mysql:host=localhost;dbname=########", "#########", "###########");

// Step 2: Construct a query
$query = "SELECT * FROM movies WHERE title LIKE " . $db->quote($search);

// Step 3: Send the query
$result = $db->query($query);

// Step 4: Iterate over the results
while($row = $result->fetch(PDO::FETCH_ASSOC)) {
    var_dump($row);
    echo $row['title'];
}

// Step 5: Free used resources
$result->closeCursor();
$db = null;

现在,当我搜索说“Candyman”时,它返回 6 个结果,我想做的是类似于 $row['title'][3] (这样我就可以获取数组中第三部电影的标题) 但是这不起作用$row['title']; 显示所有 6 个标题我如何访问下一个级别?

下面是我正在使用的搜索的链接 http://www.gorrors.com/moviesearch.php?search=candyman

对于新手问题很抱歉,但我不知所措,任何帮助将不胜感激。

【问题讨论】:

    标签: php arrays pdo fetch


    【解决方案1】:

    你可以试试 Grouping all values by a single column

    //do not use * in your sql if you only need the imfromation of movie title 
    $query = "SELECT title FROM movies WHERE title LIKE " . $db->quote($search);
    
    $result = $dbh->prepare($query);
    $result->execute();
    
    $row = $result->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP);
    var_dump($row); 
    //$row['title'][2] will give the third result,not $row['title'][3]
    

    【讨论】:

      【解决方案2】:

      试试:

      $rows = $result->fetchAll();
      echo $row[3]['title']'
      

      PDO::查询:

      http://www.php.net/manual/en/pdo.query.php

      返回一个 PDOStatement 对象:

      http://www.php.net/manual/en/class.pdostatement.php

      ...它有一个名为 fetchAll() 的方法,它返回一个包含所有行的数组,默认情况下您可以使用数字索引或字符串来访问。

      【讨论】:

        【解决方案3】:

        更改查询,例如,$query = "SELECT * FROM movies WHERE title LIKE " . $db->quote($search); 使用限制,$query = "SELECT * FROM movies WHERE title LIKE " . $db->quote($search) limit $start,$numbers;http://php.about.com/od/mysqlcommands/g/Limit_sql.htm

        【讨论】:

          猜你喜欢
          • 2015-04-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-03-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-03-16
          相关资源
          最近更新 更多