gpt4 book ai didi

php - 尝试在 PHP 中更新数据库时出现 Mysql 错误,并重定向到 null 位置

转载 作者:行者123 更新时间:2023-11-30 00:26:30 24 4
gpt4 key购买 nike

我正在尝试更新 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 上查看

这是代码:修改.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'])){ (删除'!')

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

您的参数还应该包装或与字符串隔离才能工作,例如。 SET field='". $_POST['something'] . "', ...

此外,不要将参数直接注入(inject)查询中,这是 SQL 注入(inject)的漏洞问题。更多信息在这里:How can I prevent SQL injection in PHP?

顺便说一句,mysql_* 函数已被弃用,尽量不要使用它们。

关于php - 尝试在 PHP 中更新数据库时出现 Mysql 错误,并重定向到 null 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22830703/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com