【发布时间】: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