Php 如果表单中未填写某些值,则不会更新数据库
我正在尝试从GUI更新SQL数据库。如果我填写了表单中的所有字段,它就会工作,但如果任何字段为NULL或空,则不会更新任何内容。不会引发错误,但数据库不会在phpmyadmin中更新。 我希望能够接受空字段和空字段,包括能够删除字段中的内容 我不是一个程序员,所以我希望能解释一下如何处理这些空字段Php 如果表单中未填写某些值,则不会更新数据库,php,sql,pdo,Php,Sql,Pdo,我正在尝试从GUI更新SQL数据库。如果我填写了表单中的所有字段,它就会工作,但如果任何字段为NULL或空,则不会更新任何内容。不会引发错误,但数据库不会在phpmyadmin中更新。 我希望能够接受空字段和空字段,包括能够删除字段中的内容 我不是一个程序员,所以我希望能解释一下如何处理这些空字段 <?php include ("connection.php"); include ("foundation.php"); ?> <!DOC
<?php
include ("connection.php");
include ("foundation.php");
?>
<!DOCTYPE html>
<html>
<head>
<title>PHP UPDATE DATA USING PDO</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<form name="frmUser" method="post" action="">
<input type="text" name="id" required placeholder="id"><br><br>
<input type="text" name="person" required placeholder="person"><br><br>
<input type="text" name="dob" required placeholder="dob"><br><br>
<input type="text" name="dod" required placeholder="dod"><br><br>
<input type="submit" name="update" required placeholder="Update Data">
</form>
</body>
</html>
<?php
if(isset($_POST['update']))
{
// get values from input text and number
$id = $_POST['id'];
$person = $_POST['person'];
$dob = $_POST['dob'];
$dod = $_POST['dod'];
// mysql query to Update data
$pdoquery = "UPDATE people SET id=:id, person=:person,dob=:dob,dod=:dod WHERE id='" . $_GET['id'] . "'";
$pdoQuery_run = $pdocbcon->prepare($pdoquery);
$pdoQuery_exec = $pdoQuery_run->execute(array(":person"=>$person,":dob"=>$dob,":dod"=>$dod,":id"=>$id));
if($pdoQuery_exec)
{
echo 'Uppdaterat';
}
else
{
echo 'FEL';
}
}
?>
PHP使用PDO更新数据
ID值不能为null,因此必须在前端插入它,并在数据库中为所有其他列允许null
if(isset($_POST['update']))
{
// get values from input text and number
$id = $_POST['id'];
$person = $_POST['person'];
$dob = $_POST['dob'];
$dod = $_POST['dod'];
if(empty($id)){
echo("Missing Information! You must input ID");
是要用空值更新还是要确保字段的值不是空的?您好!我希望能够使用空值进行更新。但您需要id字段来更新任何内容。该字段不能为空。我已经改变了我的答案。请检查一下,没错。ID是唯一不能为空的字段。其他字段是否允许为空以及数据库?此代码中没有空值,因此与询问您是否正确无关。只有空字符串。