使用php的mysql更新表单问题使用旧信息而不是新更新不断更新
我对PHP完全陌生,正在编写一个地址簿,其中包含上述公司的公司和联系人。单击“提交”更新数据时,只需将其替换为原始数据。这是公司html表单:使用php的mysql更新表单问题使用旧信息而不是新更新不断更新,php,mysql,Php,Mysql,我对PHP完全陌生,正在编写一个地址簿,其中包含上述公司的公司和联系人。单击“提交”更新数据时,只需将其替换为原始数据。这是公司html表单: <html> <head><title>Update Records in MYSQL Database</title> <style> body {background-color: powderblue;} form {border: 5px soli
<html>
<head><title>Update Records in MYSQL Database</title>
<style>
body {background-color: powderblue;}
form {border: 5px solid midnightblue;
padding: 40px;}
label {color: darkblue;}
form {border: 5px solid midnightblue;
padding: 40px;
</style>
</head>
<body>
<?php
//Connect to the Database
$link = mysqli_connect('localhost', '', '');
//Select the Database
mysqli_select_db($link, 'ADDRESS_BOOK_DB');
//Select Query
$sql = "SELECT * FROM Companies";
//Execute the Query
$records = mysqli_query($link, $sql);
?>
<form>
<table>
<tr>
<th>CompanyName</th>
<th>Address</th>
<th>City</th>
<th>State</th>
<th>ZipCode</th>
<th>PhoneNumber</th>
</tr>
<?php
while($row = mysqli_fetch_array($records)) {
echo "<tr><form action=update.php method='post'></form>";
echo "<td><input type='text' name='CompanyName' value='" . $row['companyname1'] . "'></td>";
echo "<td><input type='text' name='address' value='" . $row['address'] . "'></td>";
echo "<td><input type='text' name='city' value='" . $row['city'] . "'></td>";
echo "<td><input type='text' name='state' value='" . $row['state'] . "'></td>";
echo "<td><input type='text' name='zipcode' value='" . $row['zipcode'] . "'></td>";
echo "<td><input type='text' name='phone' value='" . $row['phone'] . "'></td>";
echo "<td><input type=hidden name=companies_id value='" . $row['companies_id'] . "'>";
echo "<td><input type='submit'>";
echo "</form></tr>";
}
?>
</table>
</form>
</body>
</html>
在MYSQL数据库中更新记录
正文{背景色:粉蓝;}
形态{边框:5px纯色夜蓝色;
填充:40px;}
标签{color:darkblue;}
形态{边框:5px纯色夜蓝色;
填充:40px;
公司名称
地址
城市
陈述
ZipCode
电话号码
首先用WHERE
子句$sql=“SELECT*FROM companys”将条件放在这里
您要更新数据库中的哪一条记录。似乎您正在从表单中的数据库中获取所有记录
在while循环开始时关闭表单标记,并保留其余输入字段,而不使用表单
改变这个
while($row = mysqli_fetch_array($records)) {
echo "<tr><form action=update.php method='post'></form>";
echo "<td><input type='text' name='CompanyName' value='" . $row['companyname1'] . "'></td>";
echo "<td><input type='text' name='address' value='" . $row['address'] . "'></td>";
echo "<td><input type='text' name='city' value='" . $row['city'] . "'></td>";
echo "<td><input type='text' name='state' value='" . $row['state'] . "'></td>";
echo "<td><input type='text' name='zipcode' value='" . $row['zipcode'] . "'></td>";
echo "<td><input type='text' name='phone' value='" . $row['phone'] . "'></td>";
echo "<td><input type=hidden name=companies_id value='" . $row['companies_id'] . "'>";
echo "<td><input type='submit'>";
echo "</form></tr>";
}
while($row=mysqli\u fetch\u数组($records)){
回声“;
回声“;
回声“;
回声“;
回声“;
回声“;
回声“;
回声“;
回声“;
回声“;
}
到
?>
请减少LOL,减少粗体,更多地描述实际问题。警告:当使用mysqli
时,您应该使用and将用户数据添加到您的查询中。不要使用字符串插值或连接来完成此操作,因为您创建了严重的错误。切勿直接放置$\u POST
或$\u获取
数据在一个查询中,如果有人试图利用你的错误,这可能是非常有害的。开头和结尾的3个记号只有在我提交给slack上的首席开发人员时才放在那里。因此,3个记号是在错误开始后放在那里的。我只是忘了清除它们。谢谢tadman,我不知道你提到的这个信息。我会补救的我很快就收到了帮助。
while($row = mysqli_fetch_array($records)) {
echo "<tr><form action=update.php method='post'></form>";
echo "<td><input type='text' name='CompanyName' value='" . $row['companyname1'] . "'></td>";
echo "<td><input type='text' name='address' value='" . $row['address'] . "'></td>";
echo "<td><input type='text' name='city' value='" . $row['city'] . "'></td>";
echo "<td><input type='text' name='state' value='" . $row['state'] . "'></td>";
echo "<td><input type='text' name='zipcode' value='" . $row['zipcode'] . "'></td>";
echo "<td><input type='text' name='phone' value='" . $row['phone'] . "'></td>";
echo "<td><input type=hidden name=companies_id value='" . $row['companies_id'] . "'>";
echo "<td><input type='submit'>";
echo "</form></tr>";
}
?>
<form action=update.php method='post'>
<?php
while($row = mysqli_fetch_array($records)) {
echo "<td><input type='text' name='CompanyName' value='" . $row['companyname1'] . "'></td>";
echo "<td><input type='text' name='address' value='" . $row['address'] . "'></td>";
echo "<td><input type='text' name='city' value='" . $row['city'] . "'></td>";
echo "<td><input type='text' name='state' value='" . $row['state'] . "'></td>";
echo "<td><input type='text' name='zipcode' value='" . $row['zipcode'] . "'></td>";
echo "<td><input type='text' name='phone' value='" . $row['phone'] . "'></td>";
echo "<td><input type=hidden name=companies_id value='" . $row['companies_id'] . "'>";
echo "<td><input type='submit'>";
}
?>
</form>