【问题标题】:PhpStorm Unexpected end of filePhpStorm 文件意外结束
【发布时间】:2016-04-13 12:22:59
【问题描述】:

我对 PhpStorm 有一些问题。

当我有部分查询时,它告诉我,我有意外的文件结尾。 例如,在这段代码中:

$data = [
    ['aaa', 'bbb', 'ccc'],
    ['ddd', 'eee', 'fff']
];

$query = "INSERT INTO some_table (col_a,col_b,col_c) VALUES"; // "(" expected, unexpected end of file
$comma = FALSE;
foreach ($data as $row)
{
    if ($comma) $query .= ',';
    $comma = FALSE;
    $query .= '(';
    foreach ($row as $column)
    {
        $query .= quote($column);
    }
    $query .= ')';
}

我已尝试禁用所有 MySQL 检查,但仍然显示错误。

当然代码可以正常工作。

当然我可以重写所有查询,使用准备好的语句和其他好的解决方案,但这是一个在 10 年内编写了超过 30 MB 的 php 文件(不包括外部库)的项目,所以我不能只重写所有内容: ) 这是一个很烦人的问题。

有什么方法可以禁用此检查?什么检查?

这不是执行问题。代码运行得很好。这只是 PhpStorm 问题,通知我此字符串中有意外的文件结尾。

[编辑] 这是显示我有什么问题的屏幕 :) http://scr.hu/6i5j/3spz6

【问题讨论】:

  • 我有phpstorm,我粘贴过来时没有看到这样的问题.. :(
  • 实际问题在文件的其他地方。
  • 在非封闭字符串上搜索缺失的}{。从您提供的代码 PHP 没有达到意外的文件结尾
  • 文件意外结束不是代码执行问题,而是代码“编译”问题。您需要检查整个源文件是否有任何缺失的引号、括号等。
  • 我高度怀疑这是由于在此 PHP 文件之前的其他地方打开了",当它最终到达这一行的开头" 时,它认为它是长字符串的结尾,因此“文件意外结束”?只是粗略的猜测

标签: php mysql phpstorm code-inspection


【解决方案1】:

混合语言在

中配置

设置 > 编辑器 > 语言注入

您应该能够禁用其中的所有 SQL 注入。

【讨论】:

    猜你喜欢
    • 2014-01-10
    • 2012-06-10
    • 2014-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多