PHP:Can';找不到语法错误
解析错误:语法错误,blah/blah/blah.php第1行出现意外的$end 这是我收到的错误,带有此代码PHP:Can';找不到语法错误,php,mysql,parsing,Php,Mysql,Parsing,解析错误:语法错误,blah/blah/blah.php第1行出现意外的$end 这是我收到的错误,带有此代码 <?php include("db.php"); if (isset($_POST['username']) && isset($_POST['password']) && isset($_POST['email'])) { //Prevent SQL injections $username = mysql_rea
<?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.";
}
?>
发布您的db.php文件,问题显然就在那里。意外的$end错误通常是由于缺少大括号造成的,所以请检查该文件。在php中,$end
错误通常意味着某个地方缺少大括号。也许您的blah.php
文件包含在另一个blahblah.php
文件中,有错误吗?您确定是您的db.php被包括在内吗?可能是php路径中的另一个db.php被包含了吗?检查这一点的一种方法是将您的文件重命名为更独特的文件。您在db.php中有一个不允许的名称。它应该是blah.php中的第一行
<?php
session_start();
require_once("db.php");
if(mysql_num_行($s>0))
到
如果(mysql_num_rows($s)>0)
但他说,即使db.php为空,他仍然会得到一个意外的$end错误……不太可能。他可能没有正确编辑或保存文件。我理解,但我已经检查过了。我用的是记事本+,括号和结尾处的括号是一致的。稍微有点离题——简单地通过MD5运行密码在当今时代已经不再安全了。请看这个问题:行“if(mysql_num_rows($s>0))应该重写为“if(mysql_num_rows($sql)>0)”。否则它将发出警告消息…谢谢,这解决了我的许多问题。只是出于好奇,为什么不允许在那里使用它?这并不违法,但在会话开始上方使用其他行有时会阻止设置cookie。也取决于服务器配置。但总是为了省钱,我花了好几个小时来解决这些问题。有关更多信息,请参阅手册注释。
<?php
session_start();
require_once("db.php");