![](/img/trans.png)
[英]How to insert images with text data to database in php using mysql.?
[英]Simple html form using php and mysql. How do l maintain NULL values for empty fields in the database
我建立了一个简单的html表单,该表单具有输入框和文本区域,然后借助php脚本将其插入到mysql数据库中。 并非所有字段都必须填写,我希望能够在数据库中搜索NULL字段。 我的问题是,当表单提交时,即使没有任何信息的条目也会插入一些东西,例如空白区域,这意味着l便无法在DB中搜索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>;
有关三元运算符的更多信息,请参阅docs 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.