gpt4 book ai didi

php - 如何确保为空表单字段发送 null 而不是 0

转载 作者:行者123 更新时间:2023-11-30 22:18:19 25 4
gpt4 key购买 nike

我有一个表,其中的列允许空值并具有默认空值。更新时,如果该字段为空(未插入数据),我的脚本将插入 0 而不是 null。我遇到过与我类似的问题,并且尝试了给出的建议,但仍然无法解决我的问题。这是我的代码

<?php
if (isset($_POST['submit'])) {

# process the form
$student_id = $_POST["student_id"];
$subject_id = $_POST['subject_id'];
if (is_null($_POST["test1"])){$test1 = null;} else {$test1 = $_POST["test1"];}
if (is_null($_POST["test2"])){$test2 = null;} else {$test2 = $_POST["test2"];}
if (is_null($_POST["test3"])){$test3 = null;} else {$test3 = $_POST["test3"];}

for($i=0; $i < count($student_id); $i++) {
$studentid = mysqli_real_escape_string($connection, $student_id[$i]);
$subjectid = mysqli_real_escape_string($connection, $subject_id);
$test_1 = mysqli_real_escape_string($connection, $test1[$i]);
$test_2 = mysqli_real_escape_string($connection, $test2[$i]);
$test_3 = mysqli_real_escape_string($connection, $test3[$i]);

$query = "UPDATE fullresult SET test1='{$test_1}', test2='{$test_2}', test3='{$test_3}' WHERE student_id={$studentid} AND subject_id={$subjectid}";
$result = mysqli_query($connection, $query);
}
}
?>

当我回显查询时,这就是我所看到的并且想知道为什么我仍然插入 0

UPDATE fullresult SET test1=' 10', test2=' ', test3=' ' WHERE student_id=51 AND subject_id=2

最佳答案

is_null 不会为空字符串返回 true。尝试将您的 if 语句更改为如下内容:

$test1 = trim($_POST["test1"])
if (!strlen($test1)) $test3 = null;

关于php - 如何确保为空表单字段发送 null 而不是 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37481666/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com