";解析错误:语法错误,意外的T_STRING";与远程服务器一起使用时抛出以前工作的代码.为什么


"Parse error: syntax error, unexpected T_STRING" Thrown in previously working code when used with remote server. Why?

当我在本地测试它时,它运行得很好,但在尝试使用远程mysql服务器后,它开始抛出错误。我想不出的主要问题是

"分析错误:语法错误,G:''wamp''www''OnlineBank''bank.php第92行出现意外T_STRING">

              $query = "SELECT user_name FROM Customers";
              $result = mysql_query($query);
(--> line 92) while ($row = mysql_fetch_array($result) or die mysql_error())
              {
                  if ($username == $row['user_name'])
                  {
                       echo "<script>alert('User name is taken')</script>";
                       ...
                  }

据我所知,错误通常是针对未标注的引号之类的内容,我只是不明白为什么会在这里发生,我们非常感谢您的帮助。

这个特殊的解析错误源于您需要将die的参数括在括号中:

or die(mysql_error())

其他答案触及了代码中可能错误的其他点。

我怀疑这是否有效;错误是由while条件内的CCD_ 2引起的。把它移到上面的行,就像一样

$result = mysql_query($query) or die mysql_error();

使用mysql_fetch_array((时不会出现(与mysql相关的(错误,因此检查在那里毫无意义。

如果您坚持将其保持在while条件下,则必须使用括号->die( mysql_error() )

while ($row = mysql_fetch_array($result) or die mysql_error())

首先,在这种情况下,您不需要调用mysql_error()。如果mysql_query()返回FALSE:,您所要做的就是调用它

$query = "SELECT user_name FROM Customers";
$result = mysql_query($query);
if( $result==false ){
    die(mysql_error());
}

此外,mysql_fetch_array()每次到达从MySQL检索的元素集的末尾时都返回FALSE。所以,按照通常的方式,您不需要在这个循环中使用or die mysql_error()