我想更新多行而不是所有行。 假设我有超过1000个条目。我想改变只有5个条目的国家。
Sl.No. | Name | Country | Occupation
-------+--------+-----------+-----------
22 | Robin | USA | Dancer
36 | Akash | India | Dancer
98 | David | UK | Dancer
502 | Raj | Australia | Dancer
652 | Bob | USA | Dancer
我想将其更改为:
Sl.No. | Name | Country | Occupation
-------+--------+-----------+-----------
22 | Robin | Canada | Dancer
36 | Akash | Nepal | Dancer
98 | David | USA | Dancer
502 | Raj | Kong | Dancer
652 | Bob | China | Dancer
我获取数据的PHP代码是:
<form method="post" action"">
<table>
<?php
if(isset($_POST['submit']))
{
$country=$_POST['country'];
mysql_query("update regis set country='".$country."' where name='".$b['name']."'");
}
$a=mysql_query("select * from regis where occupation='Dancer'");
while($b=mysql_fetch_assoc($a))
{ $country=$b['country'];?>
<tr>
<td><?php echo $b['slno'] ?></td>
<td><?php echo $b['name'] ?></td>
<td> <input type="text" name="name" value="<?php echo $country ?>"></td>
<td><?php echo $b['occupation'] ?></td>
</tr>
<?php }?>
</table>
<input type="submit" name="submit" value="Submit">
</form>
答案 0 :(得分:0)
你错过了这一行的单引号:
mysql_query("update regis set country='".$country."' where name='".$b['name']");
应该是:
mysql_query("update regis set country='".$country."' where name='".$b['name']"'");
请提供有关错误和打印变量内容的更多详细信息。
注意:使用mysqli或PDO而不是弃用的mysql
答案 1 :(得分:0)
如果您希望在启动代码时出现error_reporting(E_ALL);
错误问题。您将自动获得答案。
他们是一个简单的语法错误上传。只需更改更新查询行:例如
mysql_query("update regis set country='".$country."' where name='".$b['name']."'");