我有一个名为post_data
的表,有9个字段
username, email, pass, cam_name, upd_date(of type datetime) etc ...
我通过自动更新当前数据和时间将upd_date
字段设为NULL。
但问题是,当我在cam_name
条件的另一个页面中检索cam_img
,rowCount
等特定字段时,它会将NULL作为值。我想停止那个..
以下是从数据库中检索指定列的代码
$stmt = $index_home->getDetails();
if($stmt->rowCount() > 0) {
while($row=$stmt->fetch(PDO::FETCH_ASSOC)) {
extract($row);
}
}
getDetails
实施:
public function getDetails() {
try {
$stmt = $this->conn->prepare('SELECT userID, user_name, cam_name, cam_model, cam_rent, cam_img, mobile FROM post_data ORDER BY userID DESC');
$stmt->execute();
return $stmt;
}
catch(PDOException $ex) {
echo $ex->getMessage();
}
}
答案 0 :(得分:0)
使用 PDO::query()
代替PDOStatement::rowCount()
对于大多数数据库, PDOStatement :: rowCount()不返回 受SELECT语句影响的行数。相反,使用 PDO :: query()发出带有相同的SELECT COUNT(*)语句 将谓词作为预期的SELECT语句,然后使用 PDOStatement :: fetchColumn()来检索将要的行数 被退回