PHP:找不到语法错误

时间:2009-05-10 05:01:53

标签: php mysql parsing

  

解析错误:语法错误,blah / blah / blah.php第1行意外结束$

这是我收到的错误,使用此代码

<?php 
include("db.php");

if (isset($_POST['username']) && 
    isset($_POST['password']) && 
    isset($_POST['email']))
{
  //Prevent SQL injections
  $username = mysql_real_escape_string($_POST['username']);
  $email = mysql_real_escape_string($_POST['email']);

  //Get MD5 hash of password
  $password = md5($_POST['password']);

  //Check to see if username exists
  $sql = mysql_query("SELECT username FROM usersystem WHERE username = 'username'");

  if (mysql_num_rows($s > 0))
  {
    die ("Username taken.");
  }

  mysql_query("INSERT INTO usersystem (username, password, email) VALUES ( '$username', '$password', '$email')") 
    or die (mysql_error()); echo "Account created.";
}
?>

我已经检查了未关闭的括号,这不是问题所在。通过它的故障排除,我发现了include(“db.php”);造成了这个问题。当我评论它时,它加载页面就好了。但是即使db.php完全空白,只是一个空的.php文件,它仍然给我同样的错误。我很困惑。有人有什么想法吗?

这是我的db.php文件,但老实说,当我使db.php完全空白时,我得到了同样的错误。我正确地保存它。

<?php
session_start();
mysql_connect("localhost", "mydatabase", "mypassword");
mysql_select_db("ratherda_jetpackfandango");

function user_login ($username, $password)
{
  //take the username and prevent SQL injections
  //$username = mysql_real_escape_string($username);

  //begin the query
  $sql = mysql_query("SELECT * FROM user WHERE username = 'username' AND password = 'password' LIMIT 1");

  //check to see how many rows were returned
  $rows = mysql_num_rows($sql);

  if ($rows<=0 )
  {
    echo "Incorrect username/password";
  }
  else
  {
    //have them logged in
    $_SESSION['username'] = $username;
  }    
}
?>

6 个答案:

答案 0 :(得分:3)

db.php中有一个session_start,不允许在那里。它应该是blah.php中的第一行。

<?php

session_start();

require_once("db.php");

答案 1 :(得分:2)

发布你的db.php文件,问题显然在那里。意外的$ end错误通常是缺少大括号的结果,因此请检查该文件。

答案 2 :(得分:2)

  

if(mysql_num_rows($ s&gt; 0))

  

if(mysql_num_rows($ s)&gt; 0)

答案 3 :(得分:0)

在php $end中,错误通常意味着某处缺少}大括号。

答案 4 :(得分:0)

也许您的blah.php文件包含在另一个blahblah.php文件中,错误就在那里?

答案 5 :(得分:0)

你确定要包括你的db.php吗?它可能是你的php路径中的某个地方的另一个db.php吗?检查此问题的一种方法是将文件重命名为更独特的文件。