gpt4 book ai didi

PHP 为什么 !empty 不起作用?

转载 作者:行者123 更新时间:2023-12-01 00:07:23 24 4
gpt4 key购买 nike

!empty 在这段代码中有效:

if (!empty($p1_firstname))
mysql_query ("INSERT INTO cases VALUES ('','$case','$date_booked','$p1_firstname','$p1_lastname','$city')");

if (!empty($p2_firstname))
$register_case = mysql_query ("INSERT INTO cases VALUES ('','$case','$date_booked','$p2_firstname','$p2_lastname','$city')");

但不是这段代码:

if (!empty($p1_firstname))
$passenger1 = 1;
mysql_query ("INSERT INTO cases VALUES ('','$case','$passenger1','$date_booked','$p1_firstname','$p1_lastname','$city')");

if (!empty($p2_firstname))
$passenger2 = 2;
$register_case = mysql_query ("INSERT INTO cases VALUES ('','$case','$passenger2','$date_booked','$p2_firstname','$p2_lastname','$city')");

即使字段为空,它仍然会进行查询。可以做些什么来解决这个问题?

最佳答案

因为你少了花括号

if (!empty($p1_firstname)) {
$passenger1 = 1;
mysql_query ("INSERT INTO cases VALUES ('','$case','$passenger1','$date_booked','$p1_firstname','$p1_lastname','$city')");
}

if (!empty($p2_firstname)) {
$passenger2 = 2;
$register_case = mysql_query ("INSERT INTO cases VALUES ('','$case','$passenger2','$date_booked','$p2_firstname','$p2_lastname','$city')");
}

缺少大括号意味着如果满足条件,则仅执行 if 之后的语句立即mysql_query() 调用根本不是 if block 的一部分,并且无论您的变量是否为 empty() 都会执行.

通过省略大括号 没有正确缩进代码,这种错误变得更难发现。并不是说你不能那样做,但养成良好的缩进习惯并使用花括号清楚地指示控制流 block 会更安全,并且会减少浪费的时间。

关于PHP 为什么 !empty 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4732137/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com