V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lysS
V2EX  ›  PHP

mysqli_query 的操作为什么这么迷?? `和'的区别??

  •  
  •   lysS · 2020-01-21 17:40:55 +08:00 · 4138 次点击
    这是一个创建于 1529 天前的主题,其中的信息可能已经有所发展或是发生改变。

    搞搞数据库 按照说明:

    $Results=mysqli_query($link_handle,"INSERT INTO test ('ID', 'name') VALUES ('555', '啊啊')");
    

    无论怎样都不行
    最后打开 PHPAdmin,操作后会展示相应的命令

    $Results=mysqli_query($link_handle,"INSERT INTO test (`ID`, `name`) VALUES ('555', '啊啊')");
    

    看了两遍,是`和'的区别

    18 条回复    2020-01-22 11:28:45 +08:00
    lysS
        1
    lysS  
    OP
       2020-01-21 17:42:03 +08:00
    所以有了解的吗?好像字段必须是`;字段的值`和'都行
    GM
        2
    GM  
       2020-01-21 17:47:17 +08:00
    反引号 ` 是用来把“名称”——比如表名、字段名——括起来,在“名称”为保留字的时候会需要用到,不然 sql 语句不合法。

    单引号 ' 是用来把字符串括起来,这个是 sql 标准,但是 mysql 同时支持单引号 ' 或者双引号 " ,都可以用。
    b821025551b
        3
    b821025551b  
       2020-01-21 17:52:02 +08:00   ❤️ 1
    你这问题也很迷。。。数据库相关课程前几节基本都是讲这类符号的用法
    charlie21
        4
    charlie21  
       2020-01-21 18:34:59 +08:00 via iPhone
    北京同仁堂医院专业配眼镜 1000 年
    lysS
        5
    lysS  
    OP
       2020-01-21 18:35:50 +08:00
    @GM 查了下大概了解,保留字的问题,类似转义要赋予其特殊含义,表名和字段名都用反引号
    lysS
        6
    lysS  
    OP
       2020-01-21 18:36:15 +08:00
    @b821025551b 不是这个专业的,没有系统学习
    phpfpm
        7
    phpfpm  
       2020-01-21 18:54:21 +08:00
    这根 mysqli 有啥关系 emm
    lysS
        8
    lysS  
    OP
       2020-01-21 19:21:22 +08:00
    @phpfpm 其实是说的 DML 的事?
    choury
        9
    choury  
       2020-01-21 19:28:31 +08:00
    @lysS 这就是 SQL 的语法,你不管换什么数据库只要用 SQL 语言都这样啊
    ragnaroks
        10
    ragnaroks  
       2020-01-21 19:44:44 +08:00
    简单说, `key`=>'value'
    msg7086
        11
    msg7086  
       2020-01-21 21:27:52 +08:00 via Android
    建议入门一下数据库,SQL 的那部分,然后再看看 MySQL 的方言部分,然后再开始写代码。不要小看打基础的作用。
    iyaozhen
        12
    iyaozhen  
       2020-01-22 00:22:41 +08:00 via Android
    😂你这

    还是得系统学一下呀
    iyaozhen
        13
    iyaozhen  
       2020-01-22 00:23:05 +08:00 via Android
    @iyaozhen 推荐一本书,MySQL 必知必会,专门面向写 sql 的
    edk24
        14
    edk24  
       2020-01-22 00:34:25 +08:00
    `反单引号是用于字段、表名的。 比如你新建一个 select 表,select 是 mysql 关键字。 你就必须加反单引号用于区分。

    ‘单引号用于保存文本类型值的

    示例:
    ```
    UPDATE `select` SET `title` = 'v2ex' WHERE id = 1
    ```
    xcstream
        15
    xcstream  
       2020-01-22 03:29:42 +08:00
    没有歧义的话 字段可以不加引号
    pululin
        16
    pululin  
       2020-01-22 10:00:02 +08:00
    sql 怎么学的😭
    markgor
        17
    markgor  
       2020-01-22 11:01:52 +08:00
    這個和 mysqli_query 沒多大關係吧...
    mysql 欄位正常寫法就是``,
    sqlserver[];

    然後插入的字符 ''。
    lysS
        18
    lysS  
    OP
       2020-01-22 11:28:45 +08:00
    @iyaozhen
    @msg7086
    通信工程专业的,有个大创需要搞一下,就直接上的代码。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4582 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 09:55 · PVG 17:55 · LAX 02:55 · JFK 05:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.