HTML+PHP+MySQLi开发注册表单提交无响应无数据入库问题求助
错误原因及修复方案
1. 注册逻辑核心语法错误(导致插入失败的主要原因)
register.php中执行插入数据的绑定参数方法调用错误:
原错误代码:
$insertQuery = bind_param("sss",$fullname,$email,$password_hash);
bind_param是mysqli_stmt对象的方法,不能直接全局调用,修改为:
$insertQuery->bind_param("sss",$fullname,$email,$password_hash);
你之前的写法会把$insertQuery覆盖为布尔值,后续调用execute()必然报错,这是表单提交无反应、无数据插入的核心原因。
2. 变量未定义/拼写错误
sign-up.php中存在拼写错误的未定义变量输出:
原代码:
<?php echo $succes; ?>
这个变量$succes(正确拼写应为success)在你的逻辑中从未定义,会抛出PHP Notice级别报错,如果你关闭了错误显示就会出现页面无提示的情况。你当前所有成功、错误提示都存储在$error变量中,直接删除这行无效输出即可。
3. 资源关闭逻辑异常
register.php末尾直接调用$insertQuery->close(),但如果代码没有走到插入逻辑分支,$insertQuery根本不存在,会抛出致命错误。修改为条件判断后关闭:
$query->close(); if (isset($insertQuery)) { $insertQuery->close(); } mysqli_close($db);
临时调试建议
如果修改后仍有问题,可在register.php最顶部添加以下代码开启错误显示,就能直接看到具体报错位置:
error_reporting(E_ALL); ini_set('display_errors', 1);
内容的提问来源于stack exchange,提问作者Qristian Pinella
相关产品推荐
相关产品推荐

