php - 将方法与 True 进行比较

标签 php mysql mysqli

我对此代码有疑问。

$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com')";

if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

据我所知,$conn -> query()调用附加到对象$conn的方法query。我们如何将方法与 ===True 进行比较?

最佳答案

来自查询命令文档:

Returns FALSE on failure. For successful SELECT, SHOW, DESCRIBE or EXPLAIN queries mysqli_query() will return a mysqli_result object. For other successful queries mysqli_query() will return TRUE.

换句话说,如果插入成功,它将返回TRUE,否则返回FALSE。所以我们将函数执行后的返回值与TRUE进行比较,看是否执行成功。

您可以将其重写为:

$query_sucessfully_executed = $conn->query($sql);

if ($query_sucessfully_executed) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

意思是一样的。我希望这能让事情变得更清楚。

您可以在 query documentation 中了解更多相关信息.

关于php - 将方法与 True 进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39427930/

相关文章:

php - 未找到 pdo 扩展

php if 语句总是返回 false

php - 重新排列多维数组

php - 我正在尝试通过 ODBC 将 Sage Line 50 Access 数据库与 Mysql 同步

php - Doctrine ManyToMany 同一实体重复输入错误

php - 插入表 - 用数组替换列名和值

Mysql - 从左连接获取多个最后结果

MySQL : Don't show duplicate result on SELECT

php - mysqli_fetch_array() 期望参数 1 为 mysqli_result, boolean 值

MySQL 大表 JOIN 使数据库崩溃