最终,我的目标是返回整数locationID。但是从SQL语句返回的Array是空的。 SQL语句只返回一行,我在phpMyAdmin中检查过。我还确保我的参数输入正确。为什么数组是空的?我试图从我的数据库中的一个相关行返回数据,我认为它将是$ result [0]或$ result ['cityID'](也就是我正在尝试的行数据列的名称)返回)但是没有工作,我假设因为数组是空的,但我无法弄清楚为什么它是空的......我错过了什么?提前谢谢。
public function getLocationID($frmtCity, $frmtState){
$sql = 'SELECT cityID FROM city WHERE city.name = :name AND city.stateID = :state';
$queryStmt = $this -> conn -> prepare($sql);
if($queryStmt -> execute(array(':name'=>$frmtCity, ':state'=>$frmtState)) ){
$result = $queryStmt -> fetchAll(PDO::FETCH_ASSOC);
print_r($result);
}
}
答案 0 :(得分:-2)
你应该试着这么简单:
public function getLocationID(){
$sql = 'SELECT cityID FROM city WHERE city.name = :name AND city.stateID = :state';
$queryStmt = $this -> conn -> query($sql);
if($queryStmt->rowCount() > 0) ){
$result = $queryStmt -> fetchAll(PDO::FETCH_ASSOC);
}else{
$result = 0;
}
return $result;
}