0

这是一个示例代码:

$db = connect_db();

$result = $db->prepare("SELECT * FROM users");
$result->execute();
$result = $result->fetchAll();

如果我的 users 表为空,则不会返回任何行,那么 $result 包含什么?

如果我这样引用它:

if(!(isset($result))) print "no users";

它会起作用吗?

感谢您的任何回答!

4

1 回答 1

3

从文档中fetchAll()

如果要获取的结果为零,则返回一个空数组,如果失败则返回 FALSE。

所以,不,isset()不会工作,因为变量是用空数组设置的。您应该使用empty()orcount()代替。或者,更好的是,其中一种 PDO 方法rowCount()(如果您的数据库支持此方法)。

注意:文档是您的朋友。

于 2013-07-10T17:10:53.080 回答