使用以下代码时,mysql数据库中的值不会更新。 我想用在文本框中输入的新值更新数据库地狱。
<?php
$con=mysql_connect("localhost","host","pass");
mysql_select_db("Host",$con);
if(isset($_POST['update'])){
$upd= "UPDATE hell SET name='".$_POST['name']."'
WHERE rno='".$_POST['rno']."'";
mysql_query($upd,$con);
}
$sql="SELECT * FROM hell";
$rec=mysql_query($sql,$con);
?>
<html>
<body>
<table width="600" border="1" cellspacing="1" cellpadding="1">
<tr>
<th>Name</th>
<th>Roll No.</th>
</tr>
<?php
while($arr=mysql_fetch_assoc($rec))
{
echo "<form action=untitled2.php method=post>";
echo "<tr>";
echo "<td>"."<input type=text name='name' value='".$arr['name']."'>"."
</td>";
echo "<td>".$arr['rno']."</td>";
echo "<input type=hidden name='rno' id='rno' value='".$arr['rno']."'>";
echo "<td>"."<input type=submit value='update'>"."</td>";
echo "</tr>";
echo "</form>";
}
?>
</table>
</body>
</html>
答案 0 :(得分:0)
代码中有太多错误:
1)不要使用mysql_*
。它已被弃用并从PHP 7中删除。使用mysqli_*
或PDO
。
2)应该像这样使用Mysql连接:
$con = mysql_connect("localhost","host","pass");
mysql_select_db("Host",$con);
3)您的更新查询错误并且正在执行。 试试这个:
$upd= "UPDATE hell SET name='".$_POST['name']."' WHERE rno='".$_POST['rno']."'";
mysql_query($upd,$con);
4)选择查询执行应该是这样的:
$sql="SELECT * FROM hell";
$rec=mysql_query($sql,$con);
5)您无法在form
内使用table
。这是无效的html格式。