php单引号与双引号用法;引号嵌套方法

1、双引号内不能直接就再嵌套双引号

2、双引号与单引号互相嵌套使用

如:

双引号内直接嵌套单引号

  1. echo "<script language='javascript'> alert('插入成功');</script>" ;
  2. echo"<script language='javascript'>history.go(-2);</script>";

3、php中单引号内的变量不能被解释

  1. $c = 1;
  2. echo "$c";           //输出1
  3. $c = 1;
  4. echo '$c';           //输出$c
但是当用在sql语句中时当引号内有变量需要被解释时
如SQL语句可以写成:
  1. $sql = "select * from user where id = '$id'";
  2. $sql = "insert into user (`user`,`pwd`) values ('$a','$b')";
  3. $sql = "select * from user where id = {$id}";
  4. $sql = "insert into xadmin values ('','".$_POST['User']."','".$Pwd."','".$Xb."','".$Xydm."','".$_POST['Lxr']."','".$_POST['Lxdh']."','".$_POST['E_mail']."')";
变量都是可以被解释的

4、用\来转义实现双引号内嵌套双引号(尤其是有变量的时候,双引号内的变量能被解释)

  1. function error($str,$url="")
  2. {
  3. if($url!="")
  4. {
  5. echo"<meta http-equiv=\"refresh\" content=\"0;URL=$url\">";
  6. exit();
  7. }
  8. else
  9. {
  10. echo"<script language=\"JavaScript\" type=\"text/JavaScript\"> alert(\"$str\");history.back(-1);</script>";
  11. }
  12. exit();
  13. }
也可以写在这样
    1. 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中的使用的更多相关文章

  1. C语言 单引号和双引号的区别

    最近的C语言课在教字符串,貌似N多同学搞不清楚单引号和双引号的区别,有人还以为在C语言里用哪个都可以...其实C语言中的单引号和双引号含义是一点也不一样滴... 1.含义不同. 用单引号引起的一个字符 ...

  2. PHP单引号和双引号的区别

    单引号和双引号的区别 .双引号 里的东西 输入的时候能判断是否 包含 变量,如果包含 变量 就一起输出 .单引号里的就不一样,不判断是否有变量,就全部当成 字符串 输出 .单引号解析的时间比双引号快 ...

  3. php单引号和双引号的区别与用法

    php里的单引号把内容当成纯文本,不会经过服务器翻译.而双引号则与此相反.里面的内容会经过服务器处理(process). 举个简单的例子:   $foo="data"; echo ...

  4. SQL - 单引号和双引号的区别

    原文转载至:SQL中的单引号和双引号有区别吗? 在标准 SQL 中,字符串使用的是单引号. 如果字符串本身也包括单引号,则使用两个单引号(注意,不是双引号,字符串中的双引号不需要另外转义). 但在其它 ...

  5. shell脚本中:单引号和双引号的区别

    单引号和双引号的区别 前面我们还留下一个疑问,定义变量时,变量的值可以由单引号' '包围,也可以由双引号" "包围,它们到底有什么区别呢?不妨以下面的代码为例来说明: #!/bin ...

  6. Delphi学习手记——单引号和双引号的区别

    单引号和双引号的区别 双引号表示其中字符可能包含变量,而单引号表示整个引号内的东西都当成字符串来处理. 也就是说:没有内设变量就用单引号'',有就用双引号"". 举例说明: $va ...

  7. grep正则表达式后面的单引号和双引号的区别

    单引号''是全引用,被单引号括起的内容不管是常量还是变量者不会发生替换:双引号""是部分引用,被双引号括起的内容常量还是常量,变量则会发生替换,替换成变量内容! 一般常量用单引号' ...

  8. [转]C语言单引号和双引号的区别

    单引号和双引号在C中的意义完全不同,包围在单引号中的一个字符只是编写整数的另一种方法.这个整数是给定的字符在实现的对照序列中的一个对应的值,即ASCII码值.因此在一个ASCII实现中,‘a’和014 ...

  9. linux shell中的单引号与双引号的区别(看完就不会有引号的疑问了)(转)

    tips: ============================= IFS - LINUX字段分隔符,内部字段分隔符 IFS(Internal Field Seperator)在Linux的she ...

随机推荐

  1. poj 2528(区间改动+离散化)

    题意:有一个黑板上贴海报.给出每一个海报在黑板上的覆盖区间为l r,问最后多少个海报是可见的. 题解:由于l r取值到1e7,肯定是要离散化的,但普通的离散化会出问题.比方[1,10],[1,4],[ ...

  2. angular - 新建项目 - 2

    ng new testNg 新建项目后,从网络上拉取模板(最后缓存下来,我们下次创建项目的时间将会减少80%) 安装过程中,需要我们提供Git账号和姓名 最后,我们进入 useNg 然后,启动服务器 ...

  3. GTK入门学习:布局练习之计算器

    接下来,我们做一个布局练习.例如以下图: 我们用表格布局实现,表格布局參考坐标例如以下: 这里我们用到行编辑控件( GtkEntry ). 行编辑的创建: GtkWidget * gtk_entry_ ...

  4. 用callgraph生成的两张函数调用关系图

    参考这里,感觉很Cool吧. Linux-0.11函数调用关系图: QEMU函数调用关系图:

  5. 如何将mysql的路径加入环境变量

    1.打开终端,输入: cd ~ 会进入~文件夹 2.然后输入:touch .bash_profile 回车执行后, 2.再输入:open -e .bash_profile 会在TextEdit中打开这 ...

  6. oracle sqlplus 常用操作

    命令 含义 / 运行 SQL 缓冲区 ? [关键词] 对关键词提供 SQL 帮助 @[@] [文件名] [参数列表] 通过指定的参数,运行指定的命令文件 ACC[EPT] 变量 [DEF[AULT] ...

  7. EOF需要两次才能结束输入

    .EOF作为文件结束符时的情况:  EOF虽然是文件结束符,但并不是在任何情况下输入Ctrl+D(Windows下Ctrl+Z)都能够实现文件结束的功能,只有在下列的条件下,才作为文件结束符.(1)遇 ...

  8. [ExtJS5学习笔记]第五节 使用fontawesome给你的extjs5应用添加字体图标

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/38458411本文作者:sushengmiyan-------------------- ...

  9. ChannelHandler揭秘(Netty源码死磕5)

    精进篇:netty源码死磕5  揭开 ChannelHandler 的神秘面纱 目录 1. 前言 2. Handler在经典Reactor中的角色 3. Handler在Netty中的坐标位置 4. ...

  10. EL表达式 介绍

    EL表达式      1.EL简介 1)语法结构        ${expression} 2)[]与.运算符      EL 提供.和[]两种运算符来存取数据.      当要存取的属性名称中包含一 ...