当我在 w3schools 学习 MySQL 和 PHP 时,我在关于插入数据的页面上遇到了这个。
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$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->close();
?>
当检查查询成功时,为什么要检查两者是否相同类型且相等?如果只是这样不就好了吗?
if ($conn->query($sql) == TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
最佳答案
mysqli::query()
失败时返回 false,另一个结果将始终不为 false。如果不需要对 mysqli_result 使用特殊逻辑,则可以不使用 true 来编写等于。 docs
if ($conn->query($sql))
{
//
} else
{
//
}
关于php - 为什么在检查数据库查询是否成功时要同时检查值和类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48570124/