我正在尝试制作一个接受密码文本的PHP脚本,并将从数据库中删除相关数据.加载脚本时出现此错误
语法错误,第4行/home2/krisindi/public_html/deletead.php中的意外T_IS_NOT_EQUAL
<?php
$password = $_POST["password"];
if ( $password ) != 0 )
{
$id = $data->select ("Classified", "AdID", array ("Password => ($password)));
$data->delete ( "AdExtraField" , array ( "AdID" => intval ( $id["AdID"] ) ) ) ;
$data->delete ( "Classified" , array ( "Password" => ( $password ) ) ) ;
exec ( "chmod ../media/ 777" ) ;
$image_file = "../media/cls_".$id["AdID"]."_520.jpg" ;
if ( file_exists ( $image_file ) )
unlink ( $image_file ) ;
for ( $i = 1 ; $i <= 5 ; $i++ )
{
$image_file = "../media/cls_".$id["AdID"]."_".$i."_520.jpg" ;
if ( file_exists ( $image_file ) )
unlink ( $image_file ) ;
}
exec ( "chmod ../media/ 755" ) ;
$_SESSION["str_system_message"] = "Classified deleted successfully." ;
}
?>
<html>
<head>
<title>Personal INFO</title>
</head>
<body>
<form method="post" action="<?php echo $PHP_SELF;?>">
Password:<input type="text" size="12" maxlength="12" name="password">:<br />
<input type="submit" value="submit" name="submit"><br />
</form><br />
Run Code Online (Sandbox Code Playgroud)
第4行:
<?php
$password = $_POST["password"];
if ( $password ) != 0 )
^
Mismatched parenthesis
Run Code Online (Sandbox Code Playgroud)
鉴于问题是获得负面投票,我会改进我的答案,使其更具普遍性.当您的PHP代码甚至不是有效的PHP代码时(通常是因为拼写错误),您会收到语法错误.在这种情况下,代码甚至不会开始运行.应用于当前情况,第一个结论是脚本尝试完成的内容并不重要,因为在修复语法错误之前它永远不会运行.
现在,错误是什么意思.我们来分析吧:
语法错误,第4行/home2/krisindi/public_html/deletead.php中的意外T_IS_NOT_EQUAL
一点点地:
语法错误,
PHP无效.该脚本无法执行.
意外的T_IS_NOT_EQUAL
如果找到了T_IS_NOT_EQUAL令牌.用简单的英语,这意味着!=在一个没有预料到的地方找到了一个操作员.
在第4行的/home2/krisindi/public_html/deletead.php中
这是检测到错误的确切文件和行号.这并不意味着该错误是有,但它是明星的好地方.如果您的编辑器无法显示行号,请切换到更好的编辑器.
现在,让我们看看第4行:
if ( $password ) != 0 )
^
T_IS_NOT_EQUAL
Run Code Online (Sandbox Code Playgroud)
这是T_IS_NOT_EQUAL标记.为什么会出乎意料?因为一旦你关闭了if()构造,你必须打开一个块{或键入一个有效的PHP句子.没有有效的PHP句子可以从!=错误开始.