我正在尝试更新Mysql数据库,并且在Modify.php中收到此错误
“您的SQL语法有误;请查看与您的MySQL服务器版本相对应的手册,以找到在第1行的''附近使用的正确语法”
同样,当按下修改按钮以提交用户所做的修改时,我也被重定向到一个不存在的页面“ http://club-hop.com/modify.php%20method=?inputName=as&inputLine=sdsd&id=3&submit=Modify
可以在www.club-hop.com上查看有问题的页面

这是代码:
Modify.php

<?php
//edit_data.php
include "db.inc.php";
if(!isset($_POST['submit'])){
$q= "SELECT * FROM people WHERE ID= $_GET[id]";
$result= mysql_query($q);
$person= mysql_fetch_array($result);
}
?>
<h1> You Are Modifying Your Information </h1>
<form action="<?php echo $_SERVER['PHP_SELF']; ?> method="post">
clubName<input type="text" name="inputName" value="<?php echo $person['clubName']; ?>" /><br />
clubLine<input type="text" name="inputLine" value="<?php echo $person['clubLine']; ?>" />
<br />
<input type="hidden" name="id" value="<?php echo $_GET['id']; ?>" />
<input type="submit" name="submit" value="Modify" />

</form>
<?php

if(!isset($_POST['submit'])){

   $u= "UPDATE app SET `clubName`='$_POST[inputName]', `clubLine`='$_POST[inputLine]' WHERE ID=     $_POST[id]";
   mysql_query($u) or die(mysql_error());

   echo "User has been modified";
   header("Location: index.php");
}
?>


index.php

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<table>
<tr>
<td align="center">EDIT DATA</td>
</tr>
<tr>
<td>
  <table border="1">
  <?
  include"db.inc.php";//database connection
  $order = "SELECT * FROM app";
  $result = mysql_query($order);
  while ($row=mysql_fetch_array($result)){
    echo ("<tr><td>$row[clubName]</td>");
    echo ("<td>$row[clubLine]</td>");
    echo ("<td><a href=\"modify.php?id=$row[id]\">Edit</a></td></tr>");
  }
  ?>
  </table>
</td>
</tr>
</table>
</body>
</html>


预先感谢您对这个问题的任何挑衅:)

最佳答案

if(!isset($_POST['submit'])){更改为if(isset($_POST['submit'])){(删除“!”)

关闭action标记的form属性末尾的引号。

您的参数也应该与字符串包装或隔离,以便正常工作。 SET field='" . $_POST['something'] . "', ...

另外,请勿将参数直接注入查询中,这是SQL Injections的漏洞问题。更多信息在这里:How can I prevent SQL injection in PHP?

附带说明一下,不建议使用mysql_ *函数,请不要使用它们。

10-08 20:20