【发布时间】:2021-03-13 07:27:38
【问题描述】:
我正在尝试从 GUI 更新 SQL 数据库。如果我填写表单中的所有字段,它会起作用,但如果任何字段为 NULL 或为空,则不会更新任何内容。不会抛出错误,但数据库不会在 phpmyadmin 中更新。 我希望能够接受 NULL 和空字段,包括能够擦除字段中的内容。
我不是程序员,所以我希望能解释一下如何处理这些空字段。
<?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';
}
}
?>
【问题讨论】:
-
您想用空值更新还是要确保该字段根本不为空?
-
嗨!我希望能够使用 NULL 值进行更新。
-
但是您需要 id 字段来更新任何内容。该字段不能为空。我已经改变了我的答案。请检查。
-
没错。 ID 是唯一不能为 NULL 的字段。
-
其他字段是否允许为空和数据库?