我遇到了从我的 PDO 语句返回的值的问题。
这是我的代码:
//Execute test
$this->checkConnect();
$stmt = $this->dbh->prepare("SELECT p_id FROM People WHERE lastName = :param1 AND firstName = :param2");
$stmt->bindParam(':param1', $this->lName);
$stmt->bindParam(':param2', $this->fName);
$stmt->execute();
$count = $stmt->rowCount();
//Determine value of test
if($count == FALSE)
{
return FALSE;
}
else
{
$dummyvar = $stmt->fetch();
$this->p_id = implode($dummyvar);
}
当我浏览我的数据库记录时,我注意到某个值与我输入的内容不一致。当我执行查询时,它应该p_id
从 table中获取值People
。很简单。但是,发生的情况是该数字被附加了两次。例如,sayp_id
等于 1。this->p_id
将等于 11。或者p_id
等于 2,输出将为 22。我在 MySQL 中执行了此查询,并且该值是正确的。我不确定我的 php 代码中发生了什么。也许与内爆有关?我不知道。
任何见解将不胜感激。
另外:我还应该声明它p_id
是唯一的,因此只能返回一个值。