问答详情
源自:7-5 PHP数据库操作之插入新数据到MySQL中

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

如题题题题

提问者:Drunkwind 2015-02-11 16:17

个回答

  • 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的函数值能取到么?不会直接变成字符串被识别吗?

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

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

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

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