Home >Backend Development >PHP Tutorial > 关于PHP操作Mysql查询的引号有关问题

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

WBOY
WBOYOriginal
2016-06-13 12:59:11968browse

关于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.代码在不影响功能的情况下 越简单越好。


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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn