遇到了一个 SQL 的问题,求帮忙看一下

这个是我的注册界面,

注册成功后的状态

问题是创建的:Name,Email,Password 经过hash加密后传到数据库里变成了,这样

插入的是这条sql语句后面的值:
$dataInsert = ‘insert into user (Name,Email,Password) values (“$name”,”$email”,”$passwordHash”)’;

我的代码如下:

邮箱验证这里有点问题,$_POST接收的数据并未和数据库里的数据匹配到,每次输入相同的邮箱都能出现第二张截图的那个状态?

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 7

因为$_POST['email']没有正确解析,建议你用变量。 例如这样,


$email = $_POST['email'];
"select * from user where email = $email";

字符串双引号不能这样用

3年前 评论
皇阿玛 (楼主) 3年前

这个基础有点差啊,好好补一下吧

3年前 评论
皇阿玛 (楼主) 3年前

php双引号里面的字符串,是会进行变量解析的;单引号里面的字符串,是不进行变量解析的

3年前 评论

然后字符串里面,如果有变量的话,可以选择拼接的方式,例如:

'select * from user where email = ' . $_POST['email'];

也可以选择使用双引号解析,例如:

"select * from user where email = {$_POST['email']}";

备注:php双引号里面的变量,如果左右两边的界限比较"清晰",可以直接书写变量,但是界限"不清晰"的时候,需要用 {} 把变量包起来;

3年前 评论
皇阿玛 (楼主) 3年前

还是框架舒服

3年前 评论
皇阿玛 (楼主) 3年前

原生的注意参数绑定啥的

3年前 评论
皇阿玛 (楼主) 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!