Php 使用表单更新mysql数据库
这个代码有什么问题?我尝试了几次,但我的数据库在提交后没有更新。。我有一个表,在最后一列中有复选框。复选框正确地显示了数据库中的值,但我也希望使用复选框更新数据库。因此,如果值为1,则复选框处于选中状态,但我希望能够取消选中该复选框或选中另一个未选中的复选框,然后单击下面的提交按钮以更改数据库中的值Php 使用表单更新mysql数据库,php,html,mysql,forms,Php,Html,Mysql,Forms,这个代码有什么问题?我尝试了几次,但我的数据库在提交后没有更新。。我有一个表,在最后一列中有复选框。复选框正确地显示了数据库中的值,但我也希望使用复选框更新数据库。因此,如果值为1,则复选框处于选中状态,但我希望能够取消选中该复选框或选中另一个未选中的复选框,然后单击下面的提交按钮以更改数据库中的值 $sql = "SELECT * FROM registered ORDER BY datum" ; $myData=mysql_query($sql) ; ?> <table
$sql = "SELECT * FROM registered ORDER BY datum" ;
$myData=mysql_query($sql) ;
?>
<table width="1100" border="1">
<tr>
<th style="text-align:center; padding:0 10px"><b>naam</th>
<th style="text-align:center; padding:0 10px">betaald?</b></th>
</tr>
<?php
if(isset($_POST['submit'])){
$betaald = $_POST['betaald'];
mysql_query($con,"UPDATE registered SET betaald='$betaald'");
header("Location: index.php");
} ?>
<?php
while($record = mysql_fetch_array($myData))
{
?>
<tr>
<td> <?php echo $record['naam'] ?></td>
<form method="post" action="<?php echo $PHP_SELF;?>">
<td> <input type='checkbox' name='betaald' id='betaald' value='1' <?php echo ($record['betaald']==1 ? 'checked' : '')?>> </td>
</tr>
<?php
}
mysql_close($con);
?>
</table></p>
<input style="border:1px solid black" name="submit" type="submit" value="Save changes">
</form>
您向mysql\u查询传递了错误的参数 语法为mysql\u query$query;第二个参数是可选的
从函数中删除$con。根据php.net的手册,第一个参数是query,第二个参数是link identifieras,它是可选的$con
混合mysql\u查询字符串$query[,resource$link\u identifier=NULL]数据库中有多少条记录?db中的主键是什么?一方面,ID应该是唯一的,在你的另一个问题中甚至有人这样说。那么这行是错误的mysql_query$con,UPDATE registed SET betaald='$betaald';在您应该使用MySQLi而不是MySQL之前;非常感谢。我更进一步:现在每次我按下sumbit按钮,它都会给所有行值“1”,所以每个复选框都被选中。在sumbit上,它只给每一行值“1”。无论我勾选或取消勾选什么,它总是给所有行相同的值,然后做一件事。推荐header函数并打印更新查询。我完成了一步:现在每次我按下sumbit按钮,它都给所有行值“1”,因此每个复选框都被选中。在sumbit上,它只给每一行值“1”。无论我勾选或取消勾选什么,它总是为所有行提供相同的值。您的更新查询工作并更新了所有行。这就是为什么在您的概念中所有值都是相同的。使用主键/唯一键在查询中添加where子句以更新特定记录您可以在表名之前添加db名称,例如registered to db_name.registered。如果没有帮助,您可以在查询后尝试echo mysql\u errno和mysql\u error