解析错误:语法错误,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;
}
}
?>
答案 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吗?检查此问题的一种方法是将文件重命名为更独特的文件。