2017-09-04 171 views
-1

错误可能是愚蠢的,但我找不到保存我的生活的错误。或操作数不工作

我有这样一段代码在我的程序:

$validate = (
    $num_rows > 1 || 
    $num_rows == 0); 

if ($validate) { 
    $data['code'] = 2; 
} else { 
    $data['code'] = 1; 
    while ($a = $resultados->fetch_assoc()) { 
    $data['response'] = $a; 
    } 
} 

我相信'其然,当编写正确,但是,我发现了错误500和日志阅读:

Syntax error: Unexpected '$num_rows' (T_VARIABLE) on line 21...

第21行是$ num_rows的第二个验证。

有什么建议吗?

在此先感谢!

+3

你可以写你想要什么,使用此代码做的原因是无法弄清楚 –

+2

有您发布的代码没有语法错误,你能添加一些之前和之后的线? – iainn

+0

'$ validate =($ num_rows> 1 || $ num_rows == 0);' 试试这个,有时'||'和第二次验证之间的空间会产生一个奇怪的语法错误 – Mcsky

回答

-2
$validate = ($num_rows > 1||$num_rows == 0); 

试试这个,有时||之间和第二个条件的空间做一个奇怪的语法错误。我很好奇,您正在使用哪种IDE /文本编辑器。

我认为这不是一个PHP的核心问题,但它来自别的东西,请给我们更多的上下文:)

顺便说一句,您可以通过更换您的病情

$validate = $num_rows >= 0; 

这是完全一样的,你避免你的问题

+0

你能举一个例子说明发生这种情况吗?因为如果是这样,这是PHP核心中的一个错误,应该这样报告。 – iainn

+0

Nop我不能,也许它不是一个PHP的问题,也许是一个IDE。 – Mcsky

+0

我没有使用IDE,我使用ATOM构建代码,然后在php上运行它。之前我曾经遇到过这个问题,但是为了避免这个问题,我终于重写了自己的条件。 –

1

我觉得你刚才忘了一个分号自带的代码行的末尾您符合$validate = ...

开始将是真棒看到线上述此代码段之前。

+0

我也认为问题是由于缺少分号引起的。给出的线看起来很完美。 –