【发布时间】:2016-09-18 06:24:12
【问题描述】:
我可以在我的网页上连接和查看数据库。我创建了输入字段,以便我可以编辑数据库。但是,当我单击编辑按钮时,我无法将更改更新到数据库。我希望我正确地格式化了问题。很抱歉我是编码新手。
<?php
$con = mysqli_connect('localhost','******','******');
if(!$con){
echo 'Not Connected to Server';
}
if(!mysqli_select_db($con,'*********')){
echo 'Databaase Not Selected';
}
if(isset($_POST['submit']) &&$_POST['submit']=='edit'){
$UpdateQuery = "UPDATE maininfo SET name='$_POST(name)', phone_number='$_POST(phone_number)', address='$_POST(address)', ems_number='$_POST(ems_number)', ems_level='$_POST(ems_level)', emergency_contact_name='$_POST(emergency_contact_number)', emergency_contact_number='$_POST(emergency_contact_number)', email='$_POST(email)', hire_date='$_POST(hire_date)' WHERE id='$_Post(hidden)'";
mysqli_query($con, $UpdateQuery);
}
$sql="SELECT * FROM maininfo ORDER BY name";
$records=mysqli_query($con, $sql);
?>
<?php
while($maininfo=mysqli_fetch_assoc($records)){
echo "<form action=employee_edit.php method=post>";
echo "<tr>";
echo '<td><input type=text name=id value="' . $maininfo['id']. '" /></td>';
echo '<td><input type=text name=name value="' . $maininfo['name']. '" /></td>';
echo '<td><input type=text name=phone_number value="' . $maininfo['phone_number']. '" /></td>';
echo '<td><input type=text name=address value="' . $maininfo['address']. '" /></td>';
echo '<td><input type=text name=ems_number value="' . $maininfo['ems_number']. '" /> </td>';
echo '<td><input type=text name=ems_level value="' . $maininfo['ems_level']. '" /> </td>';
echo '<td><input type=text name=emergency_contact_name value="' . $maininfo['emergency_contact_name']. '" /></td>';
echo '<td><input type=text name=emergency_contact_number value="' . $maininfo['emergency_contact_number']. '" /></td>';
echo '<td><input type=text name=email value="' . $maininfo['email'].'" /></td>';
echo '<td><input type=text name=hire_date value="' . $maininfo['hire_date'].'" />
</td>';
echo '<td><input type=hidden name=hidden value="' . $maininfo['id'].'" />
</td>';
echo "<td>" . "<input type=submit name=edit value=edit></td>";
echo "</form>";
}//end while
?>
【问题讨论】:
-
将此 $_POST(name) 更改为 $_POST['name'];
-
警告:
$UpdateQuery充满了SQL Injection 漏洞。切勿通过直接从 HTTP 请求中插入数据来构造 SQL。
标签: php sql database html-table