PHP 单引号与双引号的区别 SQL中的使用
php单引号与双引号用法;引号嵌套方法
1、双引号内不能直接就再嵌套双引号
2、双引号与单引号互相嵌套使用
如:
双引号内直接嵌套单引号
- echo "<script language='javascript'> alert('插入成功');</script>" ;
- echo"<script language='javascript'>history.go(-2);</script>";
3、php中单引号内的变量不能被解释
如
- $c = 1;
- echo "$c"; //输出1
- $c = 1;
- echo '$c'; //输出$c
但是当用在sql语句中时当引号内有变量需要被解释时
如SQL语句可以写成:
- $sql = "select * from user where id = '$id'";
- $sql = "insert into user (`user`,`pwd`) values ('$a','$b')";
- $sql = "select * from user where id = {$id}";
- $sql = "insert into xadmin values ('','".$_POST['User']."','".$Pwd."','".$Xb."','".$Xydm."','".$_POST['Lxr']."','".$_POST['Lxdh']."','".$_POST['E_mail']."')";
变量都是可以被解释的
4、用\来转义实现双引号内嵌套双引号(尤其是有变量的时候,双引号内的变量能被解释)
- function error($str,$url="")
- {
- if($url!="")
- {
- echo"<meta http-equiv=\"refresh\" content=\"0;URL=$url\">";
- exit();
- }
- else
- {
- echo"<script language=\"JavaScript\" type=\"text/JavaScript\"> alert(\"$str\");history.back(-1);</script>";
- }
- exit();
- }

也可以写在这样
- echo "<script language='javascript'>alert(\"$str\")</script>";
只要是sql语句里面的接受传过来的值得时候统一用这样的方式就不会有什么错误的
例如:$sql="INSERT INTO `Persons` (`FirstName`, `LastName`, `Age`)
VALUES
("'.$_POST[firstname].'"',"'.$_POST[lastname].'","'.$_POST[age]').'"";
就是列明还有数据表名都加反引号,$_POST[firstname]这种的呢都是
双引号 单引号 点 $_POST[firstname] 点 单引号 双引号,首先sql语句必须是双引号即
$sql=" ";这种格式的。$sql=
"INSERT INTO Persons (FirstName, LastName, Age) VALUES ('$_POST[firstname]','$_POST[lastname]','$_POST[age]')"
;
单引号表示字符串啊,sql语句里字符串都是要单引号的,至于外面的双引号只是为了内部的函数执行做铺垫的。
$a = 1;
echo
'$a'
; => $a
echo
"$a"
=> 1
第一种【{$_GET['id']}加不加单引号都能正常执行没问题】
$sql = "select * from `news` where `id` = {$_GET['id']}"; $query = mysql_query($sql);
第二种【'{$_POST['con']}'第二种必须加单引号,否则没效果】
$sql = "insert into `news` (`id`,`title`,`dates`,`contents`) values(null,'{$_POST['tit']}',now(),'{$_POST['con']}')"; mysql_query($sql); echo "更新成功";
其实造成这种现象的原因如下图的js代码原理一样
综上,我是建议还是加上并将其养成良好的习惯。
PHP 单引号与双引号的区别 SQL中的使用的更多相关文章
- C语言 单引号和双引号的区别
最近的C语言课在教字符串,貌似N多同学搞不清楚单引号和双引号的区别,有人还以为在C语言里用哪个都可以...其实C语言中的单引号和双引号含义是一点也不一样滴... 1.含义不同. 用单引号引起的一个字符 ...
- PHP单引号和双引号的区别
单引号和双引号的区别 .双引号 里的东西 输入的时候能判断是否 包含 变量,如果包含 变量 就一起输出 .单引号里的就不一样,不判断是否有变量,就全部当成 字符串 输出 .单引号解析的时间比双引号快 ...
- php单引号和双引号的区别与用法
php里的单引号把内容当成纯文本,不会经过服务器翻译.而双引号则与此相反.里面的内容会经过服务器处理(process). 举个简单的例子: $foo="data"; echo ...
- SQL - 单引号和双引号的区别
原文转载至:SQL中的单引号和双引号有区别吗? 在标准 SQL 中,字符串使用的是单引号. 如果字符串本身也包括单引号,则使用两个单引号(注意,不是双引号,字符串中的双引号不需要另外转义). 但在其它 ...
- shell脚本中:单引号和双引号的区别
单引号和双引号的区别 前面我们还留下一个疑问,定义变量时,变量的值可以由单引号' '包围,也可以由双引号" "包围,它们到底有什么区别呢?不妨以下面的代码为例来说明: #!/bin ...
- Delphi学习手记——单引号和双引号的区别
单引号和双引号的区别 双引号表示其中字符可能包含变量,而单引号表示整个引号内的东西都当成字符串来处理. 也就是说:没有内设变量就用单引号'',有就用双引号"". 举例说明: $va ...
- grep正则表达式后面的单引号和双引号的区别
单引号''是全引用,被单引号括起的内容不管是常量还是变量者不会发生替换:双引号""是部分引用,被双引号括起的内容常量还是常量,变量则会发生替换,替换成变量内容! 一般常量用单引号' ...
- [转]C语言单引号和双引号的区别
单引号和双引号在C中的意义完全不同,包围在单引号中的一个字符只是编写整数的另一种方法.这个整数是给定的字符在实现的对照序列中的一个对应的值,即ASCII码值.因此在一个ASCII实现中,‘a’和014 ...
- linux shell中的单引号与双引号的区别(看完就不会有引号的疑问了)(转)
tips: ============================= IFS - LINUX字段分隔符,内部字段分隔符 IFS(Internal Field Seperator)在Linux的she ...
随机推荐
- UVA 12338 - Anti-Rhyme Pairs(后缀数组+RMQ)
UVA 12338 - Anti-Rhyme Pairs 题目链接 题意:给定一些字符串,每次询问求出两个字符串的最长公共前缀的长度 思路:把字符串排序,就能求出height和rank数组,然后利用R ...
- 菜鸟调错(十)——启动Tomcat报错“Unsupported major.minor version xxx ”
近期项目更新JDK,由之前的1.7更新到1.8. 下载并安装好新的JDK以后,编译.启动Tomcat的时候,报错了.提示:"Unsupported major.minor version x ...
- mysql truncate table命令使用总结
truncate使用注意 由于上过truncate table a_table命令一次当,将教训记录下来,以示警戒! mysql truncate table a_table命令受影响结果说明 ...
- DataTable和DataRow利用反射直接转换为Model对象的扩展方法类
DataTable和DataRow利用反射直接转换为Model对象的扩展方法类 /// <summary> /// 类 说 明:给DataTable和DataRow扩展方法,直接转换为 ...
- poj3211 Washing Clothes
Description Dearboy was so busy recently that now he has piles of clothes to wash. Luckily, he has a ...
- Audio原理图设计
1.DMIC 1)当双MIC时,通过MIC上的Selection PIN脚PULL U/D进行左右channel选择.
- 【SSH2(理论篇)】--Struts2配置具体解释
上篇博客讨论了SSH2框架模型,在开发过程中发现SSH2的开发模型事实上类似于经典的三层模式,在每一层中分别加入了不同的框架,显示层使用的是Struts2进行配置的,业务逻辑层使用的是Spring配置 ...
- 网页编程-Djiango(二)
一.初始Ajax ajax的写法: $.ajax({ url:'/host', type:'POST' data:{'k1':123,'k2':'root'} success:function(dat ...
- ListView的异步载入(笔记,多线程和AsyncTask)
异步载入最经常使用的两种方式: 多线程,线程池 AsyncTask 实例操作: 从一个站点上获取Json数据.然后将数据在ListView上显示. 1.创建item_layout布局 , 改动 ...
- 【BZOJ1419】Red is good 期望
[BZOJ1419]Red is good Description 桌面上有R张红牌和B张黑牌,随机打乱顺序后放在桌面上,开始一张一张地翻牌,翻到红牌得到1美元,黑牌则付出1美元.可以随时停止翻牌,在 ...