sql查询表达式写法

mlsml 2009-08-20 12:04:29
1 、$sql = "SELECT * FROM users WHERE user='" . $user . "' AND password='" . $pwd . "'";

2 、$sql = "SELECT * FROM users WHERE user='$user' AND password='$pwd'";


这2个都正确?

大家平时都用哪种写法?

我是用第2种的
...全文
129 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
禹爸爸 2009-08-24
  • 打赏
  • 举报
回复
仅从字符串拼加的角度来讲,我比较喜欢第二种写法,看上去很清爽!
TR@SOE 2009-08-24
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 mlsml 的回复:]
根据用户名查出密码,然后再对比。-----正确的做法应该是这样???
[/Quote]

不能说“正确”,只能说,比你的两个写法都更安全。
土地公公 2009-08-24
  • 打赏
  • 举报
回复
我习惯用第二种。
mlsml 2009-08-24
  • 打赏
  • 举报
回复
根据用户名查出密码,然后再对比。-----正确的做法应该是这样???
sinopf 2009-08-23
  • 打赏
  • 举报
回复
句子是对的,但你的思路很不安全啊,应该取出该用户名对应的密码(一般MD5过了)和用户输入的做对比。
wqli07 2009-08-23
  • 打赏
  • 举报
回复
学习中
忧伤的蜗牛 2009-08-23
  • 打赏
  • 举报
回复
建议用第一个 !~~
LuciferStar 2009-08-21
  • 打赏
  • 举报
回复
嗯,我宁可根据用户名查出密码,然后再比对。
如果处理不当,用户名+密码方式,很容易被注入。
mlsml 2009-08-21
  • 打赏
  • 举报
回复
怎么没人回答了。。。。字符过滤~~
阿_布 2009-08-20
  • 打赏
  • 举报
回复
我是用第一种的,呵呵!
CunningBoy 2009-08-20
  • 打赏
  • 举报
回复
都可以,但是建议
$sql = "SELECT * FROM users WHERE user='" . addslashes($user) . "' AND password='" . addslashes($pwd) . "'";
TR@SOE 2009-08-20
  • 打赏
  • 举报
回复
严格的说,都不怎么好。

我一般只select password from users where username=...

然后再判断password和用户输入的是否相同。
mlsml 2009-08-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 cunningboy 的回复:]
都可以,但是建议
PHP code$sql="SELECT * FROM users WHERE user='".addslashes($user)."' AND password='".addslashes($pwd)."'";
[/Quote]

php.ini 中默认magic_quotes_gpc=on,已经使用转义了,还需要用addslashes???最好有人详细讲下关于登陆时过滤问题~~~~~

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧