Php HTML表单上的SQL错误,应更新MySQL数据库

Php HTML表单上的SQL错误,应更新MySQL数据库,php,html,mysql,Php,Html,Mysql,我正在开发一个表单,该表单允许用户通过HTML表单更新MySQL数据库的详细信息,但当它们被明确分配时,我会遇到一些未定义的索引/变量错误 使用html表单从名为“eventEdit.php”的页面中获取代码 <form action ="PHP/Validation.php" method = "get" > 数据库图片:问题出在HTML中。您缺少表单字段: catID eventID 用“Database_conn.php”中的数据库连接变量替换$db,就像我之前所说的,这

我正在开发一个表单,该表单允许用户通过HTML表单更新MySQL数据库的详细信息,但当它们被明确分配时,我会遇到一些未定义的索引/变量错误

使用html表单从名为“eventEdit.php”的页面中获取代码

 <form action ="PHP/Validation.php" method = "get" >

数据库图片:

问题出在HTML中。您缺少表单字段:

catID eventID
用“Database_conn.php”中的数据库连接变量替换$db,就像我之前所说的,这仍然非常容易受到攻击,我建议您接下来学习

您是否尝试过使用REQUEST
Protip::
查看逗号。但这只是问题之一。我不可能给出答案。经典。你没有采纳我的建议(现在被删除了,有些人看不见了)。这段代码还有很多东西。例如,他使用$u REQUEST来获取所有数据,而不是$u get(或者更好,POST)。他为每个查询打开一个新的mysql服务器连接,而不是只打开一次连接,运行查询并在最后关闭连接。他的HTML标记也可以更好。但是看看代码,我认为他正在学习PHP,所以不要对他太苛刻。但是你的观点是正确的。是的,我目前正在学习诀窍,但我已经提出了这些建议,似乎没有出现错误,但它不会用新信息更新数据库。没问题,我们都以同样的方式学习。我只是想指出主要的安全问题。它没有更新的原因是它又少了一行。我将更新答案以包含该内容。请注意:您的编辑将失败。另外,没有错误报告,并且对SQL注入开放。这显然是相当业余的代码,但我想他必须在某个地方学习。我已经给他提供了准备好的声明的链接。他可以从那里找出剩下的。
<?php

include 'database_conn.php';

$eventT = $_REQUEST['D_EventTitle'];
$eventDescription = $_REQUEST['D_desc'];
$EventP = $_REQUEST['D_price'];
$eventSD = $_REQUEST['D_SD'];
$eventED = $_REQUEST['D_ED'];
$catDesc = $_REQUEST['catdesc'];
$venueName = $_REQUEST['venueName'];
$catID = $_REQUEST['catID'];
$info = $_REQUEST['eventID'];
$venueID = $_REQUEST['venueID'];

$sql  = "
UPDATE te_events
SET `eventID` = $info,
`eventTitle` = $eventT,
`eventDescription` = $eventDescription,
 `VenueID`= $venueID,
`catID` = $catID,
`eventStartDate` = $eventSD,
`eventEndDate` = $eventED,
`eventPrice` = $EventP
WHERE 'eventID' = $info;";
mysql_query($sql) or die (mysql_error()); mysql_close($conn);


?>
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Christmas Carol, `eventDescription` = Visit the three ghosts of Christmas this' at line 3
catID eventID
<input type="hidden" name="catID" value="<?php echo $catID; ?>" />
<input type="hidden" name="eventID" value="<?php echo $eventID; ?>" />
$update_te_category = "UPDATE `te_category`
    SET `catdesc` = '$catDesc'
    WHERE `catID` = '$catID';";

$update_te_events = "UPDATE `te_events`
    SET `eventTitle` = '$eventT',
    `eventDescription` = '$eventDescription',
    `eventStartDate` = '$eventSD',
    `eventEndDate` = '$eventED',
    `eventPrice` = '$EventP'
    WHERE `eventID` = '$info';";

$update_te_venue = "UPDATE `te_venue`
    SET `venueName` = '$venueName'
    WHERE `venueID` = '$venueID';";

$result_update_te_category = $db->query($update_te_category);
$result_update_te_events = $db->query($update_te_events);
$result_update_te_venue = $db->query($update_te_venue);