提问人:Rezwan safi 提问时间:3/23/2023 最后编辑:Bas HRezwan safi 更新时间:3/29/2023 访问量:120
if (isset($_POST[“Name”]==null $_POST[“电子邮件”]==null, $_POST[“密码”]==null, $_POST[“电话”]==null)) 这在 php 中有什么问题
if (isset($_POST["Name"]==null $_POST["Email"]==null, $_POST["Password"]==null, $_POST["Phone"]==null)) what is wrong with this in php
问:
我有一个数据库,想在元素传递到数据库之前检查元素是否已设置,因为我不想为提到的实体传递 null 值,但在使用此语句时,我发现值在没有检查可用性的情况下传递。
我试图将这些元素传递给数据库,但首先检查了空值,但没有检查它们是否为空值,有时也会出现此错误:
致命错误:无法对表达式的结果使用 isset() (您 可以在 C:\xampp\htdocs 中使用“null !== expression”代替)。在线 3
答:
0赞
DarkShade
3/23/2023
#1
isset 函数的工作方式不同,您需要在其中放置一个变量,而不是条件。
例如:
$arr = [
'a' => 'Hello',
];
$bool = isset($arr['a']) // return true
$bool = isset($arr['b']) // return false
本页详细
让我们尝试编写以下内容来修复代码中的错误。
if (
!isset($_POST["Name"]) ||
!isset($_POST["Email"]) ||
!isset($_POST["Password"]) ||
!isset($_POST["Phone"])
) {
// some fields is null, not valid.
}
或
if (!isset($_POST["Name"], $_POST["Email"], $_POST["Password"], $_POST["Phone"])) {
// some fields is null, not valid.
}
评论
0赞
DarkShade
3/23/2023
@Rezwansafi 如果答案令人满意,您可以确认并接受。:)
0赞
Sahetmyrat Kakajanov
3/23/2023
#2
如果要防止将值插入到数据库中:null
CREATE TABLE User(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255) NOT NULL
);
此外,在 HTML 文档中使用 required 属性:
<form action="/action_page.php">
<input type="text" id="username" required>
</form>
评论
isset
将接受多个参数,如果任何值返回 false / 空类型值,则返回 false。即:等if( isset($_POST['name'], $_POST['email'], $_POST['phone'] ) ){}