0

以下代码是我的一个类的一部分:

        $stmt = $this->dbh->prepare("SELECT t_id FROM checkOut WHERE t_id = :param1");             
        $stmt->bindParam(':param1', $this->numberIn);
        $stmt->execute();
        $result = $stmt->fetch(PDO::FETCH_ASSOC);
        var_dump($result);
        $this->p_id = $result['p_id'];

我最初的问题是 php 声明这p_id是一个未定义的索引。为了弄清楚发生了什么,我投入var_dump查看阵列中的内容。由于某种原因,它只包含一个值,4它对应于第一列的名称,t_id. 我的 MySQL 表有四列,我需要所有四列都出现在数组中。为什么我的代码只会获取第一列的值?

任何帮助,将不胜感激。

4

2 回答 2

2

您只获取一个字段:

SELECT t_id FROM checkOut ...
       ^^^^

如果你想要 p_id,那么你也必须获取它:

SELECT p_id, t_id FROM checkOut
于 2012-11-03T21:05:40.990 回答
1

你用SELECT t_id. 改为使用SELECT *

于 2012-11-03T21:05:22.943 回答