【问题标题】:parse error in php mysql code cant see the errorphp mysql代码中的解析错误看不到错误
【发布时间】:2014-12-18 00:16:01
【问题描述】:

我在涉及 isset() 的两个单独页面上遇到相同的错误,但无法弄清楚。 解析错误:语法错误,第 389 行的 login.php 中出现意外的“{” 第 389 行如下所示 我正在尝试连接到数据库并将结果存储在变量中

//----get username/ password  values
//if 1
if (isset($_POST['submit']) {
  $usernametxt = $_POST['username'] ;
  $passwordtxt = $_POST['password'];
  $sql = "SELECT username, memberID from members where username = $usernametxt AND password = $passwordtxt";
  $res = mysqli_query($dbcnx, $sql);
  $dbcnx = mysqli_connect("localhost", "root", "", "PoolSociety");


     //if 2
    if (mysqli_connect_errno($dbcnx )){
        echo "Failed to connect to MySQL: " .mysqli_connect_error();
    exit();
    }//end if 2

         //if 3
        if ( !$res ) {
          echo('Query failed ' . $sql . ' Error:' . mysqli_error());
         exit();

        }else{     
            //if4
            if(mysqli_num_rows($res)< 1){
            //there are no members
           $display_block = "<p><em> No members</em></p>"; 
           }
           else
          {
            $member_info = mysqli_fetch_array($res);
            $username = $member_info['username'];
            $memberID = $member_info['MemberID'];
            $session['username'] = $username;
            $session['memberID'] = $memberID;
            header("location: localMyPage.php");
           } // end if 4
      } //End if 3
}   //end if 1
?>  

在第二页上,如果 isset() 出现相同的解析错误 解析错误:语法错误,第 33 行的 \Register.php 中出现意外的“{”

 if(isset($_POST['submit']) //-----<<<<---line 33
      echo '<script type="text/javascript">alert("' . $string . '");</script>';
 }

【问题讨论】:

  • 旁注:/ /----get 不是有效的注释行。通过正确格式化您的代码,您也将受益很大
  • 那不是第 389 行... if (isset($_POST['submit']) {
  • 为什么不直接打开错误报告而不是猜测是哪一行导致的。
  • if (isset($_POST['submit']) 的两组都缺少右括号。应该是if (isset($_POST['submit']))。后者也缺少一个左大括号
  • 并回答您不可避免的下一个问题; 1)这是因为您在建立连接之前正在运行查询,并且 2)您的查询值 $usernametxt$passwordtxt 没有被引用。改用带有绑定参数的prepared statement

标签: php mysql parse-error


【解决方案1】:

您在第 389 行 if 块上缺少右大括号 }。花点时间正确格式化/对齐您的代码,它将为您省去无数麻烦,并让其他人在未来支持您的代码成为可能。

【讨论】:

    【解决方案2】:

    您发布的第一行有错误

    if (isset($_POST['submit']) {
    

    您缺少括号,这可能会导致您的整体问题。应该是

    if(isset($_POST['submit'])) {
    

    与您在第 33 行最后发布的 sn-p 相同,您缺少结尾括号和大括号。

    if(isset($_POST['submit']) //-----<<<<---line 33
          echo '<script type="text/javascript">alert("' . $string . '");</script>';
     }
    

    应该是

    if(isset($_POST['submit'])){ //-----<<<<---line 33
          echo '<script type="text/javascript">alert("' . $string . '");</script>';
     }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-29
      • 1970-01-01
      相关资源
      最近更新 更多