gpt4 book ai didi

php - 使用 php 和 mysql 的简单 html 表单。如何维护数据库中空字段的 NULL 值

转载 作者:行者123 更新时间:2023-11-29 07:23:40 25 4
gpt4 key购买 nike

我构建了一个简单的 html 表单,其中包含输入框和文本区域,然后在 php 脚本的帮助下将其插入到 mysql 数据库中。并非所有字段都必须填写,我希望能够在数据库中搜索 NULL 字段。我的问题是,当表单提交时,即使没有信息的条目也会插入一些类似空白的内容,这意味着我无法在数据库中搜索 NULL 字段,因为会返回所有内容。

这是将 MYSQL 插入查询发送到数据库的 php 脚本

<?php
/*Av Tech Name*/
$techNam = $_POST['techNam'];
/* Building */
$building = $_POST['building'];
/* Room */
$roomNum = $_POST['roomNum'];
/* Day */
$day = $_POST['day'];
/*Month*/
$month = $_POST['month'];
/*Projector Power */
$projPower = $_POST['projPower'];
/* Screen decends and retracts */
$screenUpDown = $_POST['screenUpDown'];
/* Power to buton control */
$controlPower = $_POST['controlPower'];
/* Lamp working */
$projLamp = $_POST['projLamp'];
/* Rips and tears to the screen */
$rips = $_POST['rips'];
/* Control Functions */
$controlFunctions = $_POST['controlFunctions'];
/* Projector image */
$projImage = $_POST['projImage'];
/* Screen Notes */
$screenNotes = $_POST['screenNotes'];
/* Control Notes */
$controlNotes = $_POST['controlNotes'];
/* Monitor power */
$monitorPower = $_POST['monitorPower'];
/* Network connection */
$networkConnect = $_POST['networkConnect'];
/* PC Power */
$pcPower = $_POST['pcPower'];
/* PC image */
$pcImage = $_POST['pcImage'];
/* PC audio */
$pcAudio = $_POST['pcAudio'];
/* PC DVD playback */
$pcDvd = $_POST['pcDvd'];
/* BluRay Player power */
$BluRayPower = $_POST['BluRayPower'];
/* Laptop VGA connection */
$laptopVga = $_POST['laptopVga'];
/* Visualiser Power */
$visPower = $_POST['visPower'];
/* bluRay Play back */
$BluRayPlay = $_POST['BluRayPlay'];
/* Laptop audio */
$laptopAudio = $_POST['laptopAudio'];
/* Visualiaser lamp */
$visLamp = $_POST['visLamp'];
/* BluRay Audio */
$BluRayAudio = $_POST['BluRayAudio'];
/* laptop HDMI */
$laptopHdmi = $_POST['laptopHdmi'];
/* Visualiser image */
$visImage = $_POST['visImage'];
/* Laptop Network Connection */
$laptopNetwork = $_POST['laptopNetwork'];
/* Visualiser automatic and manual zoom */
$visZoom = $_POST['visZoom'];
/* Lectern mic working */
$micLec = $_POST['micLec'];
/* Video conference power */
$vcPower = $_POST['vcPower'];
/* Condition of lectern Condition */
$lecternCondition = $_POST['lecternCondition'];
/* Radio mics working */
$audioRadioMics = $_POST['audioRadioMics'];
/* VC unit dials and connects */
$vcConnect = $_POST['vcConnect'];
/* General condition of cables Good */
$cableCondition = $_POST['cableCondition'];
/* Visualiser audio */
$vcAudio = $_POST['vcAudio'];
/* Condition of wall connections */
$wall = $_POST['wall'];
/* Visualiser laptop connection */
$vcLaptop = $_POST['vcLaptop'];
/* White board condition */
$whiteB = $_POST['whiteB'];
/* Video conference notes */
$vcNotes = $_POST['vcNotes'];

$sql = "INSERT INTO avChecklist (techNam, building, roomNum, day, month,
projPower, screenUpDown, controlPower, projLamp, rips, controlFunctions,
projImage, screenNotes, controlNotes, monitorPower, networkConnect,
pcPower, pcImage, pcAudio, pcDvd, BluRayPower, laptopVga, visPower,
BluRayPlay, laptopAudio, visLamp, BluRayAudio, laptopHdmi, visImage,
laptopNetwork, visZoom, micLec, vcPower, lecternCondition,
audioRadioMics, vcConnect, cableCondition, vcAudio, wall, vcLaptop,
whiteB, vcNotes) VALUES ('$techNam', '$building', '$roomNum', '$day',
'$month', '$projPower', '$screenUpDown', '$controlPower', '$projLamp',
'$rips', '$controlFunctions', '$projImage', '$screenNotes',
'$controlNotes', '$monitorPower', '$networkConnect', '$pcPower',
'$pcImage', '$pcAudio', '$pcDvd', '$BluRayPower', '$laptopVga',
'$visPower', '$BluRayPlay', '$laptopAudio', '$visLamp', '$BluRayAudio',
'$laptopHdmi', '$visImage', '$laptopNetwork', '$visZoom', '$micLec',
'$vcPower', '$lecternCondition', '$audioRadioMics', '$vcConnect',
'$cableCondition', '$vcAudio', '$wall', '$vcLaptop', '$whiteB',
'$vcNotes')";

if (!mysql_query($sql)) {
die('Error: ' . mysql_error());
}
echo 'Thanks '. $techNam .' your completed maintenance check for room '.
$roomNum .' has been added to the database.';
echo "<br /><br /><br />";
echo 'This page will redirect in 5 seconds';
mysql_close();
?>

表结构

Database a9404870_heAv
Table structure for table avChecklist
Field Type Null Default
submitDate timestamp Yes CURRENT_TIMESTAMP
techNam varchar(255) Yes NULL
building varchar(255) Yes NULL
roomNum varchar(255) Yes NULL
day varchar(255) Yes NULL
month varchar(255) Yes NULL
projPower varchar(255) Yes NULL
screenUpDown varchar(255) Yes NULL
controlPower varchar(255) Yes NULL
projLamp varchar(255) Yes NULL
rips varchar(255) Yes NULL
controlFunctions varchar(255) Yes NULL
projImage varchar(255) Yes NULL
screenNotes varchar(255) Yes NULL
controlNotes varchar(255) Yes NULL
monitorPower varchar(255) Yes NULL
networkConnect varchar(255) Yes NULL
pcPower varchar(255) Yes NULL
pcImage varchar(255) Yes NULL
pcAudio varchar(255) Yes NULL
pcDvd varchar(255) Yes NULL
BluRayPower varchar(255) Yes NULL
laptopVga varchar(255) Yes NULL
visPower varchar(255) Yes NULL
BluRayPlay varchar(255) Yes NULL
laptopAudio varchar(255) Yes NULL
visLamp varchar(255) Yes NULL
BluRayAudio varchar(255) Yes NULL
laptopHdmi varchar(255) Yes NULL
visImage varchar(255) Yes NULL
laptopNetwork varchar(255) Yes NULL
visZoom varchar(255) Yes NULL
micLec varchar(255) Yes NULL
vcPower varchar(255) Yes NULL
lecternCondition varchar(255) Yes NULL
audioRadioMics varchar(255) Yes NULL
vcConnect varchar(255) Yes NULL
cableCondition varchar(255) Yes NULL
vcAudio varchar(255) Yes NULL
wall varchar(255) Yes NULL
vcLaptop varchar(255) Yes NULL
whiteB varchar(255) Yes NULL
vcNotes varchar(255) Yes NULL

最佳答案

为了确保某些内容设置为 NULL,您必须执行以下操作:

isset($_POST['screenNotes'])? $screenNotes = $_POST['screenNotes'] : $screenNotes = NULL;

如果字段留空,则必须对要插入 NULL 的每个字段执行此操作。

我在这里所做的是使用三元条件 - 它只是一个缩短的if条件:

<if this is true> ? <do this> : <else do that>;

有关三元运算符的更多信息,请参阅 the docs .

关于php - 使用 php 和 mysql 的简单 html 表单。如何维护数据库中空字段的 NULL 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35231296/

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