Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.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脚本中出现意外的$end?_Php - Fatal编程技术网

php脚本中出现意外的$end?

php脚本中出现意外的$end?,php,Php,我有一段代码,在我看来很好,但我一直遇到以下错误: 分析错误:语法错误,意外的$end in /home/txclanco/public_html/hotmuze/addSong.php,第21行“ 这是一个脚本,它接收表单的输入,检查是否存在重复项,如果存在重复项,它将不会生成新行,而只是在“评级”行中添加1,其中songname是输入的歌曲。如果没有重复,脚本将添加数据作为新行。数据类型包括: id=A_I/int songname=varchar 艺术家=瓦查尔 额定值=整数 下面是脚

我有一段代码,在我看来很好,但我一直遇到以下错误:

分析错误:语法错误,意外的$end in /home/txclanco/public_html/hotmuze/addSong.php,第21行“

这是一个脚本,它接收表单的输入,检查是否存在重复项,如果存在重复项,它将不会生成新行,而只是在“评级”行中添加1,其中songname是输入的歌曲。如果没有重复,脚本将添加数据作为新行。数据类型包括:

  • id=A_I/int
  • songname=varchar
  • 艺术家=瓦查尔
  • 额定值=整数
下面是脚本,mysql数据被屏蔽:

<?
  mysql_connect("localhost", "***", "***") or die(mysql_error());
  mysql_select_db("***") or die(mysql_error());
  $songname = $_POST['songname'];
  $artist = $_POST['by'];
  $ratenum = 1; 
  $chkquery = "SELECT * FROM hotmuze WHERE songname='$songname'";
  $plusOneQuery = "SELECT * FROM hotmuze WHERE songname='$songname'";
  $updateQuery = "UPDATE hotmuze SET rating='$rating2' WHERE songname='$songname'";
  $checkdata = mysql_query($chkquery);
  $checkrows = mysql_num_rows($checkdata); 

  if($checkrows==0) 
  {
      $insquery = "INSERT INTO hotmuze (id, songname, artist, rating) VALUES('', '$songname', '$artist', '$ratenum'";
      $insdata = mysql_query($insquery); 
  }

  if($checkrows!=0) 
  { 
    $plusData = mysql_query($plusOneQuery);
  }

  if(mysql_num_rows($plusData)!=0) 
  {
    $result = mysql_fetch_assoc($plusData);
    $rating = $result['ratng'];
    $rating2 = $rating + 1;
    mysql_query($updateQuery); 
    echo "Data Inserted";
  } 
?>
你知道剧本有什么问题吗?我知道意外的$end错误通常意味着有一个大括号不合适,但这次没关系?

需要打开和关闭值“()”

改变这个

 $insquery = "INSERT INTO hotmuze (id, songname, artist, rating) VALUES('', '$songname', '$artist', '$ratenum'";


您错过了结尾处的

对照结束括号的数量,计算开始括号的数量


$insquery=“插入hotmuze(id、songname、artist、rating)值(“”,$songname’、‘$artist’、‘$ratenum’)”

撇开当前的错误不谈,您的
$insquery
似乎是在SQL末尾用括号声明的。在将变量放入查询之前,您确实需要
mysql\u real\u escape\u string
这些变量:-)您的代码解析得很好。删除MySQL凭据时是否删除了语法错误?@Johnathan:谢谢!这是少数几个问题之一,哈哈。我用新的结构重新编辑了它,它工作得很好:)谢谢!:)@prodigitalson:Will do:D脚本只是我的测试工具,我通常会在以后应用安全措施:D哈哈,谢谢:)@AlvaroG:真的吗?哈哈,我怀疑:无论如何,谢谢你!解决方法:Dif查询执行行中有任何错误。检查它的根。你会发现错误很清楚。此外,
意外的$end
用于任何未完成的关闭谢谢,这是一个问题,还有其他问题。我用不同的结构重新编辑了脚本,它可以工作了!:)谢谢,我通常使用记事本++来做这件事,但是我使用的网络编辑器很糟糕:(不知怎么的,这不是唯一的问题!不管怎样,我用不同的结构重新编写了整个代码,它成功了!无论如何,谢谢!:)汉克斯,这是一个问题,还有其他问题。我用不同的结构重新编辑了脚本,它可以工作了!:)
    $insquery = "INSERT INTO hotmuze (id, songname, artist, rating) 
VALUES('', '$songname', '$artist', '$ratenum')";
 $insquery = "INSERT INTO hotmuze (id, songname, artist, rating) VALUES('', '$songname', '$artist', '$ratenum'";
$insquery = "INSERT INTO hotmuze (id, songname, artist, rating) VALUES('', '$songname', '$artist', '$ratenum')";