插入语句$sql = "insert into user(name, age, class) values('$name', '$age', '$class')";为什么values()里的参数要加引号‘’

来源:7-5 PHP数据库操作之插入新数据到MySQL中

Drunkwind

2015-02-11 16:17

如题题题题

写回答 关注

7回答

  • qq_良性大哥哥_0
    2019-09-07 14:53:39

    请使用php变量拼接 你那样肯定报错的

  • 插上翅膀的梦
    2016-05-23 11:16:49

    name,age,class,可以修改吗?

  • 一飞同学
    2016-03-22 11:23:13

    ''在php中被理解为字符串,变量还是用“”的好    或者 怕搞混了就用  .$class.  给计算机说我这是变量- -

  • AzureRay
    2015-08-26 21:11:26

    其实我也不明白。。。哈哈哈、、

  • 微笑de迪妮莎
    2015-02-12 22:50:26

    好吧.我再说的详细点。

    首先声明一个string类型的变量sql,该变量指向堆内存中字符串"insert into user(name,age,class) values('"

    $sql="insert into user(name,age,class) values(";

    其次使用"."字符串拼接符进行字符串拼接,因为sql查询语句插入操作中,值为string类型就必须使用单引号"'"将值包含起来,而integer类型,double类型等都可以使用单引号包含也可以不包含(指在mysql数据库里),所以,就变成

    $sql="insert into user(name,age,class) values("."'".$name."'";

    2个值使用逗号","进行分隔,后面2个变量同理,收尾结束

    $sql="insert into user(name,age,class) values("."'".$name."'".","."'".$age."'".","."'".$class."'".")";

    如果还看不明白,建议你在去看看sql查询语句部分。或者度娘一下下。

  • 许大毛
    2015-02-12 15:17:01

    你这样写$name的函数值能取到么?不会直接变成字符串被识别吗?

    Drunkw...

    我也不明白,教程里的源代码,执行能通过

    2015-02-12 20:04:15

    共 1 条回复 >

  • 微笑de迪妮莎
    2015-02-12 09:22:30

    最好不要这样写,会把自己搞晕的。我的写法是

    $sql="insert into user(name,age,class) values('".$name."','".$age."','".$class."')";

    因为数据查询语句里面字符串类型的必须加单引号'',并且你上面这样写还牵扯到双引号""的变量解析。

    Drunkw...

    表示没看懂。。。

    2015-02-12 20:03:09

    共 1 条回复 >

PHP进阶篇

轻松学习PHP中级课程,进行全面了解,用PHP快速开发网站程序

181835 学习 · 2577 问题

查看课程

相似问题