【发布时间】:2017-12-08 01:01:37
【问题描述】:
我是编程新手,所以请原谅我的愚蠢问题。我见过这样的代码:
$result1 = mysqli_query($connection,
"INSERT INTO Categories (CategoryName) VALUES ('Philosophy')");
if ($result1) {
/* commit transaction */
mysqli_commit($connection);
}
我不太清楚 if ($result1) 是什么意思,通常我们在 if 语句中检查条件时,它应该是可以显式生成 true 或 false 的东西,所以语法应该是 if(true) 或 if( false),例如 if (1==1) 等价于 if(true),那么 if ($result1) 呢? $result1 本身不会产生真假
【问题讨论】:
-
这就是类型转换发挥作用的地方。在这种情况下,PHP 使用
$result1转换为布尔值 true 或 false 的结果。阅读php.net/manual/en/language.types.type-juggling.php -
mysqli_query()如果出现问题,则始终返回 false。如果查询成功,则返回不为假的结果。所以这个说法是正确的。
标签: php if-statement