【发布时间】:2012-11-03 15:28:39
【问题描述】:
代码示例;
$stmt = $db->prepare('SELECT u.username, u.display_name FROM users u WHERE u.id = :userId');
$stmt->bindValue(':userId', 10);
$stmt->execute();
使用准备 -> 执行。如果您确定查询将返回最多 1 行;有没有一种简单的方法来查看查询是否返回了一行?我看到每个人都在验证“rowCount”,但没有更清洁的方法吗?
本文:http://www.christiansouth.com/php/pdo-getting-started-part-2-pdostatement/ 州;
如果查询成功则为 TRUE,否则为 FALSE。这里的绊脚石 如果 SQL 有错误,它只会返回 FALSE。所以如果 SQL 是 有效但不返回任何行集,您仍将获得 TRUE 返回值。
这个说法正确吗?因为php.net只讲:
成功时返回 TRUE,失败时返回 FALSE。
所以,再次提出问题:
- 您是否无法验证是否使用 $stmt(在上面的示例中)返回了一行 一个布尔值?
- 是否有任何解决方案看起来更干净,然后在 if 中敲击“rowCount”?
【问题讨论】: