PHP使用PDO连接数据库成功但无法插入数据问题求助
问题原因及修复方案
- 核心报错原因是PDO方法名大小写错误:PHP中PDO获取最后插入ID的方法是驼峰命名的
lastInsertId(),你代码中写的全小写lastinsertid()属于调用不存在的方法,直接修改方法名大小写即可解决该报错。 - 补充优化和其他问题修复:
- 建议在数据库连接文件
connection.php中初始化PDO实例后,开启PDO异常模式,方便定位SQL执行错误,代码如下:
$dbCon->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);- 绝对不能明文存储用户密码,插入数据库前必须用
password_hash()对密码做哈希加密,示例:
后续登录校验时用$password = password_hash($_POST['passWord'], PASSWORD_DEFAULT);password_verify()方法验证用户输入的密码和库中存储的哈希是否匹配即可。
3. 你当前的错误分支没有任何输出逻辑,出错后无法感知,可修改else分支输出具体错误信息:else{ echo "插入失败,错误信息:" . print_r($stmt->errorInfo(), true); }- 如果这段代码没有写在函数内部,不需要用
global声明$dbCon变量,直接调用即可。
- 建议在数据库连接文件
内容的提问来源于stack exchange,提问作者Hamsyy
相关产品推荐
相关产品推荐

