当第二个条件在php中为真时,我收到白页

阿卜杜勒阿齐兹·朱马亚

我正在尝试创建一个条件,其中代码检查DB中是否存在电话号码,然后检查用户名。

$query1 = "SELECT `Phone` FROM `NewUser` WHERE Phone=?";
$query2 = "SELECT `Username` FROM `NewUser` WHERE Username=?";

// checks the Phone number existence
if($stmt = $LINK->prepare($query1)){
    $stmt->bind_param("s", $Phone);
    if($stmt->execute()){
        $stmt->store_result();
        $Phone_check= "";         
        $stmt->bind_result($Phone_check);
        $stmt->fetch();
        if ($stmt->num_rows == 1){
            
            echo "That Phone already exists.";
            die();
        }
    }
}

// checks the Username existence
elseif($stmt2 = $LINK->prepare($query2)){
    $stmt2->bind_param("s", $User);
    if($stmt2->execute()){
        $stmt2->store_result();
        $User_check= "";         
        $stmt2->bind_result($User_check);
        $stmt2->fetch();
        if ($stmt2->num_rows == 1){
            echo "That Username already exists.";
            die();
        }
    }
}

如果第一个条件为真,我会得到那个电话已经存在,但是如果第二个条件发生,我会得到一个白页。

交换条件时,我得到“该用户名已存在”。

达曼

正如注释中所指出的if($stmt = $LINK->prepare($query1)),无论记录是否存在,注释都将返回true。您需要删除所有这些if语句并简化代码。

如果您不需要将数据提取到PHP中以将其用于其他用途,那么绝对没有理由将其提取。您可以仅使用SQL检查该行是否存在。由于这两个列都属于同一个表,因此您也可以在单个语句中执行此操作。

$stmt = $LINK->prepare("SELECT COUNT(*) FROM `NewUser` WHERE Phone=? OR Username=?");
$stmt->bind_param("ss", $Phone, $User);
$stmt->execute();   
$stmt->bind_result($exists);
$stmt->fetch();
if ($exists) {   
    echo "The phone number or the username already exists.";
    die();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当我希望仅在第一个条件为真时调用函数时,将函数作为 IF 的第二个条件传递是否安全?

来自分类Dev

第一个为假时测试第二个条件

来自分类Dev

jQuery 仅在第一个方法为真时才验证触发第二个方法

来自分类Dev

当我关闭第二个屏幕时,桌面会重置为单屏幕

来自分类Dev

SELECT查询中的第二个条件

来自分类Dev

当第二个表中的布尔值为TRUE时,用第一个表覆盖第二个表的结果

来自分类Dev

第一个条件为false时,第二个AND条件的Azure SQL执行

来自分类Dev

从php中的SAML获取第二个AttributeValue

来自分类Dev

我如何遍历PHP中的JSON输出并仅选择第二个键=>值?

来自分类Dev

我无法在第二个PHP文件中检索会话变量

来自分类Dev

我如何在php中执行第二个查询

来自分类Dev

以data.table中的第二个标识符为条件的组的平均观察次数

来自分类Dev

boost :: interprocess :: message_queue在第二个进程中没有收到消息

来自分类Dev

调用条件时不满足第二个条件

来自分类Dev

使用自定义会话处理程序并建立第二个postgres连接时,PHP7中断了我的会话

来自分类Dev

我是否可以始终配置为从多值LDAP属性中获取第二个“ cn”值?

来自分类Dev

为什么我在JQuery Autocomplete中传递的第二个参数的值始终为零?

来自分类Dev

如果第一个为真,则逻辑上还是忽略第二个语句

来自分类Dev

我收到此错误:“来自 useState() 和 useReducer() Hooks 的状态更新不支持第二个回调...”当我更改状态时

来自分类Dev

按两个字段排序,但第二个取决于PHP中的条件

来自分类Dev

R聚合条件为第二个数据帧的data.frame

来自分类Dev

我的应用在第二个活动中启动时出现问题

来自分类Dev

当我在Bash函数中使用getopts时,为什么它在第二个调用中忽略参数?

来自分类Dev

单击提交按钮时,我的 ASPX 文件中的第二个模态不会发布

来自分类Dev

我的第二个条件有什么问题?

来自分类Dev

为什么在同一页面上提交第二个表单时我总是丢失变量值

来自分类Dev

RestKit 2.0:映射-不唯一时,第二个实体为零

来自分类Dev

如果语句第二个条件始终执行

来自分类Dev

使用条件获取第二个大数

Related 相关文章

  1. 1

    当我希望仅在第一个条件为真时调用函数时,将函数作为 IF 的第二个条件传递是否安全?

  2. 2

    第一个为假时测试第二个条件

  3. 3

    jQuery 仅在第一个方法为真时才验证触发第二个方法

  4. 4

    当我关闭第二个屏幕时,桌面会重置为单屏幕

  5. 5

    SELECT查询中的第二个条件

  6. 6

    当第二个表中的布尔值为TRUE时,用第一个表覆盖第二个表的结果

  7. 7

    第一个条件为false时,第二个AND条件的Azure SQL执行

  8. 8

    从php中的SAML获取第二个AttributeValue

  9. 9

    我如何遍历PHP中的JSON输出并仅选择第二个键=>值?

  10. 10

    我无法在第二个PHP文件中检索会话变量

  11. 11

    我如何在php中执行第二个查询

  12. 12

    以data.table中的第二个标识符为条件的组的平均观察次数

  13. 13

    boost :: interprocess :: message_queue在第二个进程中没有收到消息

  14. 14

    调用条件时不满足第二个条件

  15. 15

    使用自定义会话处理程序并建立第二个postgres连接时,PHP7中断了我的会话

  16. 16

    我是否可以始终配置为从多值LDAP属性中获取第二个“ cn”值?

  17. 17

    为什么我在JQuery Autocomplete中传递的第二个参数的值始终为零?

  18. 18

    如果第一个为真,则逻辑上还是忽略第二个语句

  19. 19

    我收到此错误:“来自 useState() 和 useReducer() Hooks 的状态更新不支持第二个回调...”当我更改状态时

  20. 20

    按两个字段排序,但第二个取决于PHP中的条件

  21. 21

    R聚合条件为第二个数据帧的data.frame

  22. 22

    我的应用在第二个活动中启动时出现问题

  23. 23

    当我在Bash函数中使用getopts时,为什么它在第二个调用中忽略参数?

  24. 24

    单击提交按钮时,我的 ASPX 文件中的第二个模态不会发布

  25. 25

    我的第二个条件有什么问题?

  26. 26

    为什么在同一页面上提交第二个表单时我总是丢失变量值

  27. 27

    RestKit 2.0:映射-不唯一时,第二个实体为零

  28. 28

    如果语句第二个条件始终执行

  29. 29

    使用条件获取第二个大数

热门标签

归档