单入口注册模块组合sql语句的一个小问题
Jun 20, 2016 pm 12:30 PM 请教大家一个问题,用单入口方式写的一个注册类
$uname=$_POST['uname'];
$pwd=md5($_POST['pwd']);
//组合sql
$sql="insert into user(username,password) values($uname,$pwd)";
M()->exec($sql);
$sql这句插入数据有问题,$uname和$pwd都取得值了.我书写的哪块错误了,双引号不是直接能解析变量的吗?
//我改成这种直接插入没问题$sql="insert into user(username,password) values('xiaozhang','34345')";
$sql 我改成 $sql="insert into user(username,password) values(".$uname.",".$pwd.")"; 也不行,哪里出错了,应该怎么写.
回复讨论(解决方案)
我的调试方法, 先去数据库写一条插入语句,执行成功后,按照你写的语句去拼凑php这边的表达式就行了
$sql="insert into user(username,password) values('$uname','$pwd')";
字符串是需要用引号括起的,否则会被误解
1 |
|
$sql="insert into user(username,password) values('$uname','$pwd')";
字符串是需要用引号括起的,否则会被误解
$uname 不是变量吗,为啥用单引号括起来.php中单引号不是不解析变量的吗?
$sql="insert into user(username,password) values('$uname','$pwd')";
字符串是需要用引号括起的,否则会被误解
$uname 不是变量吗,为啥用单引号括起来.php中单引号不是不解析变量的吗?
如果你uname定义为varchar,不家引号,sql会报错的。
$sql="insert into user(username,password) values('$uname','$pwd')";
字符串是需要用引号括起的,否则会被误解
$uname 不是变量吗,为啥用单引号括起来.php中单引号不是不解析变量的吗?
如果你uname定义为varchar,不家引号,sql会报错的。
我数据库定义的char(20)类型的

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Laravel Back End : Part 2, React가있는 React 앱 구축

PHP의 컬 : REST API에서 PHP Curl Extension 사용 방법
