>백엔드 개발 >PHP 튜토리얼 > 关于PHP操作Mysql查询的引号有关问题

关于PHP操作Mysql查询的引号有关问题

WBOY
WBOY원래의
2016-06-13 12:59:11968검색

关于PHP操作Mysql查询的引号问题

"update user set name='$_POST[newname][code=php]' where id=$_SESSION[id]";


"update user set name=$_POST[newname] where id=$_SESSION[id]";

有什么区别??(多了和少了一组单引号)

这是一个更新用户名的MySql语句,我让程序输出了一下$sqlstr,发现在上面两种情况的输出结果都是一样的但是:

今天发现,没有那组单引号的时候,更新名字,只有在新名字是数字的时候好用,如果是英文或者汉字什么的都不好用,而有了单引号之后就数字汉字英文都好用了,不知道问什么,求解答。。。

还有,我看同学写的代码,有的时候更复杂,好像还在对应位置加了{}之类的东西,不知道这个有什么用。。

在下菜鸟一只。。求各位大大解答一下。。不胜感谢。。
------解决方案--------------------
字符类型要加引号 --这是最基础的,有什么疑问的。
------解决方案--------------------
1.sql语句的''用来表示常量是个字符串
update user set name='Andy' where id=3
这样是会报错的
update user set name=Andy where id=3
取决于你表设计时 设定的类型

2.代码在不影响功能的情况下 越简单越好。


------解决方案--------------------
还是多看看基础吧,多练练手。
------解决方案--------------------
字符需要加引号。数字无所谓

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.