以下代码是我的一个类的一部分:
$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表有四列,我需要所有四列都存在于数组中。为什么我的代码只能抓住第一列的值?
任何帮助将不胜感激。
答案 0 :(得分:2)
您只获取一个字段:
SELECT t_id FROM checkOut ...
^^^^
如果你想要p_id,那么你也必须获取它:
SELECT p_id, t_id FROM checkOut
答案 1 :(得分:1)
您使用SELECT t_id
。请改用SELECT *
。