Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:Can';找不到语法错误_Php_Mysql_Parsing - Fatal编程技术网

PHP:Can';找不到语法错误

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

解析错误:语法错误,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_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");