PhpStorm 2021.3 Help

用户参数

一般情况下,SQL 语句中只将问号?作为参数处理。在此页面上,您可以指定应将哪些其他字符及其序列视为参数,以及在哪些位置。

SQL 参数的模式是通过正则表达式指定的。

执行参数化语句

如果语句中有参数,则必须在执行语句之前指定参数的值。

  • 要执行参数化语句,请单击工具栏上的执行按钮执行按钮并在第二列中输入值。或者,要打开“参数”对话框,请单击“查看参数”按钮查看参数按钮

    执行参数化语句

配置用户参数的设置

  • 按下Ctrl+Alt+S并导航至 工具 |打开设置 数据库 | 用户参数请参见下表中对用户参数的说明。

用户参数

物品

描述

在查询控制台和 SQL 文件中启用

将参数模式应用于 SQL 文件和数据库控制台中的 SQL。您可以在单个模式级别限制使用范围。

如果清除此复选框,则无论为单个模式指定的使用范围如何,模式都不会在 SQL 文件和控制台中使用。

使用 SQL 注入在字符串文字中启用

将参数模式应用于注入SQL的字符串文字。如有必要,您可以在单个模式级别限制使用范围。

如果清除此复选框,则无论为单个模式指定的使用范围如何,模式都不会在字符串文字中使用。

在 SQL 字符串中替换

将参数模式应用于 SQL 代码中的字符串文字。

例如,考虑以下代码。

从演员 WHERE actor_id='${actor_id}' 中选择 ${column_name}

如果清除该复选框,PhpStorm 将只查找其中的column_name参数。该actor_id参数被视为字符串。

settings.substitute.inside.sql.strings

但是,如果您选择在 SQL 字符串中替换选项,则该actor_id参数将被视为用户参数。

settings.substitute.inside.sql.strings

参数模式

参数模式列表及其使用范围。

模式是使用正则表达式指定的。以冒号 ( :) 开头或位于括号中的值被视为参数名称。最初可用的模式具有以下含义:

  • \?(\d+)- 问号后跟一个或多个数字,例如,?69在这种情况下69是参数名称。

  • %\w+-%后跟一个或多个单词字符,例如,%xyz.

    要让 PhpStorm 识别注入的 SQL 字符串中的sprintf格式引用:

    1. 单击%\w+图案。PhpStorm 使用模式的配置设置扩展了一个隐藏区域。

    2. 选中In scriptsIn literals复选框。

    3. 单击<Language>链接并在列表中选择PHP 。

  • \$\{([^$\{\}]*)\}- $, 然后{, 然后是除 , 以外的任何字符$,{}零次或多次, then }, 例如, ${}, ${value}.

  • \$\(([^\)]+)\)- $,然后,然后是除一次或多次之外的(任何字符,然后,例如 $(x)。))

  • \$(\w+)\$- $,然后是一个或多个单词字符,然后$又是一个,例如$x1$.

  • \#(\w+)\#- #,然后是一个或多个单词字符,然后#又是一个,例如#field_3#.

使用添加按钮 Alt+Insert删除按钮 Alt+Delete和 来添加、删除和重新排序模式上一次出现按钮 Alt+Up下一次出现按钮 Alt+Down

要编辑模式或其使用范围,请单击该模式并使用以下控件:

  • 在脚本中:如果不得在 SQL 文件和数据库控制台中使用该模式,请清除此复选框。

  • In literals:如果模式不得用于注入 SQL 的字符串文字中,请清除此复选框。

  • 所有语言:单击链接并清除您不想使用该模式的语言复选框。

最后修改:2021 年 9 月 14 日