我尝试使用以下代码插入数据,但我真的不知道如何获得结果以及我的代码中存在什么问题,我尝试先构建我的表单然后编写插入查询并发送它是一个新的形式,任何帮助请: 此外,我现在有以下错误:
注意:未定义的索引:第11行的C:\ xampp \ htdocs \ ers \ test.php中的服务
注意:未定义的索引:第12行的C:\ xampp \ htdocs \ ers \ test.php中的标题
注意:未定义的索引:第13行的C:\ xampp \ htdocs \ ers \ test.php中的RootCause
注意:未定义的索引:第14行的C:\ xampp \ htdocs \ ers \ test.php中的RiskRating
注意:未定义的索引:第15行的C:\ xampp \ htdocs \ ers \ test.php中的影响
注意:未定义的索引:第16行的C:\ xampp \ htdocs \ ers \ test.php中的努力
注意:未定义的索引:第17行的C:\ xampp \ htdocs \ ers \ test.php中的可能性
注意:未定义的索引:在第18行的C:\ xampp \ htdocs \ ers \ test.php中查找
注意:未定义的索引:第19行的C:\ xampp \ htdocs \ ers \ test.php中的含义
注意:未定义的索引:第20行的C:\ xampp \ htdocs \ ers \ test.php中的建议
错误:无法添加或更新子行:外键约束失败(ers_1
。findings
,CONSTRAINT findings_ibfk_15
FOREIGN KEY(ServiceType_ID
)参考servicetype_lookup
( ServiceType_ID
)ON UPDATE NO ACTION)
<html>
<body>
<?php
$con = mysql_connect("localhost","root","123");
error_reporting(0);
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
?>
<form method="post" action="test.php">
<fieldset>
<legend>Insert New Data </legend>
<p> Service Name :
<select name="Services">
<option value="select"> -Select- </option>
<option value="architecture review">Architecture Review</option>
<option value="internal penetration testing">Internal Penetration Testing</option>
<option value="network component review">Network Component Review</option>
<option value="database review">Database Review</option>
<option value="wireless network">Wireless Network</option>
<option value="operating system review">Operating System Review</option>
<option value="web application">Web Application</option>
<option value="external penetration testing">External Penetration Testing</option>
</select>
</p>
<form method="post" action="test.php">
Ref : <input type="text" name="ref" /><br />
Title : <input type="text" name="title" /><br />
Risk Rating :
<select name="RiskRating">
<option value="select"> -Select- </option>
<option value="High">High</option>
<option value="Medium">Medium</option>
<option value="Low">Low</option>
</select><br />
Root Cause :
<select name="RootCause">
<option value="select"> -Select- </option>
<option value="access control">Access Control</option>
<option value="configuration management">Configuration Management</option>
<option value="patch management">Patch Management</option>
<option value="patch management">Certificate Management</option>
<option value="patch management">Password Management</option>
<option value="patch management">Audit Trail and Security Logs Management</option>
<option value="service deployment">Network Management</option>
</select><br />
Impact :
<select name="impact">
<option value="select"> -Select- </option>
<option value="high"> Major </option>
<option value="moderate"> Moderate </option>
<option value="low"> Minor </option>
</select><br />
Likelihood :
<select name="likelihood">
<option value="select"> -Select- </option>
<option value="possible"> Likely </option>
<option value="impossible">Possible</option>
<option value="definite"> Moderate </option>
<option value="definite"> Rare </option>
</select><br/>
Efforts :
<select name="Efforts">
<option value="select"> -Select- </option>
<option value="possible"> Significant </option>
<option value="impossible">Moderate </option>
<option value="definite"> Intermediate </option>
<option value="definite"> Simple </option>
</select><br/>
Finding : <br/>
<TEXTAREA NAME="Finding" COLS=100 ROWS=10>
</TEXTAREA>
<br/>
Implication: <br/>
<TEXTAREA NAME="Implication" COLS=100 ROWS=10>
</TEXTAREA>
<br/>
Recommendation : <br/>
<TEXTAREA NAME="Recommendation" COLS=100 ROWS=10>
</TEXTAREA>
<br/><input type="submit" value=" Save " onclick="window.location.href='test.php'" />
</fieldset>
</form>
<?php
mysql_select_db("ers_1", $con);
$result = mysql_query("SELECT * FROM findings");
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['Finding_ID'] . "</td>";
echo "<td>" . $row['ServiceType_ID'] . "</td>";
echo "<td>" . $row['Title'] . "</td>";
echo "<td>" . $row['RootCause_ID'] . "</td>";
echo "<td>" . $row['RiskRating_ID'] . "</td>";
echo "<td>" . $row['Impact_ID'] . "</td>";
echo "<td>" . $row['Efforts_ID'] . "</td>";
echo "<td>" . $row['Likelihood_ID'] . "</td>";
echo "<td>" . $row['Finding'] . "</td>";
echo "<td>" . $row['Implication'] . "</td>";
echo "<td>" . $row['Recommendation'] . "</td>";
echo "<td>" . $row['Report_ID'] . "</td>";
echo "<td><a href='edit.php'>[EDIT]</a> <a href='delete_risk.php?risk_no=" . $row['risk_no'] . "'>[DELETE]</a></td>";
echo "</tr>";
}
mysql_close($con);
?>
</body>
</html>
答案 0 :(得分:0)
不幸的是,整个设置非常混乱。
这一行存在一个大问题:
$sql="INSERT INTO findings ... ";
您定义了一个字符串,该字符串将从表单中获取所有值,但您不对其执行任何操作。
要运行SQL查询,请使用mysql_query()
。
mysql_query($sql);
但是,我建议您阅读PHP / MySQL的基础知识,以便了解您正在编写的代码。看起来你把事情粘在一起,希望它有效。
答案 1 :(得分:0)
我认为您使用了两种形式,甚至您在另一种形式中使用了一种形式,如:
<form id="form1">
//Some code
<form id="form2">
//More some
</form>
永远不可能使用嵌套表单。就是这样。如果你使用两种形式,那么最好避免使用嵌套表单,并为两者提供单独的触发器。