gpt4 book ai didi

php - 如何仅使用非空用户输入字段更新 MySQL 数据库

转载 作者:行者123 更新时间:2023-11-29 06:26:00 24 4
gpt4 key购买 nike

我有一个数据库,我正在尝试根据某些用户输入表单进行更新。我正在使用以下代码来更新 MySQL 数据库。

$query = "UPDATE supervisorupdate SET shift1PinCount =?, shift2PinCount =?, shift3PinCount =?, shift4PinCount =? WHERE Code=?";

$stmt = mysqli_stmt_init($conn);

if(!mysqli_stmt_prepare($stmt, $query)){
echo "updating supervisorupdate table when click save button SQL statement failed";
}else{
mysqli_stmt_bind_param($stmt,"iiiis", $shift1PinCount, $shift2PinCount, $shift3PinCount, $shift4PinCount, $Code);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
}

这里 $shift1PinCount$shift2PinCount$shift3PinCount$shift4PinCount 是一些 $_POST 我从用户输入表单中获取的变量

我需要什么

假设用户没有在 $shift1PinCount 字段中键入任何内容,则查询不应将任何内容更新到 MySQL 数据库的 shift1PinCount 列中。

我的问题

使用我的查询,无论用户是否在用户输入表单中键入内容或将其留空,它总是会更新所有 MySQL 列。有谁知道怎么做吗?

最佳答案

尝试在发布数据上添加 if 条件,例如

<?php
if(isset($_POST["shift1"]))
{

$query = "
Update product SET shift1 = ?,
";
if(isset($_POST["shift2"]))
{
$query .= "
shift2 = ? ,
";
}
if(isset($_POST["shift3"]))
{
$query .= "
shift3 = ? ,
";
}if(isset($_POST["shift4"]))
{
$query .= "
shift4 = ? ,
";
}
$query .=" Where Code=?";
$stmt = mysqli_stmt_init($conn);

if(!mysqli_stmt_prepare($stmt, $query)){
echo "updating supervisorupdate table when click save button SQL statement failed";
}else{
mysqli_stmt_bind_param($stmt,"iiiis", $_POST["shift1"], $_POST["shift1"], $_POST["shift1"], $_POST["shift1"], $Code);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
}
}
?>

关于php - 如何仅使用非空用户输入字段更新 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59486134/

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