我有一个非常广泛和大型的 Web 表单,用户可以将其提交到我的 PostGreSQL 数据库。我在完成功能时遇到了麻烦。我有较小的 Web 表单,可以使用它,但我遇到了一个错误 -Query failed: ERROR: INSERT has more target columns than expressions
现在,当然,我可以解释这意味着什么,但我一次又一次地查看文件,根本看不出 Web 表单有任何问题。我能否再多看几眼 Web 表单本身和 PHP 提交查询。我还在寻找有关如何使 PHP 脚本更小的建议,这似乎是我执行该功能的一种非常不专业的方式。你们中的任何人都可以确定哪个列/变量不合适。
网页表格.html
<form name="availability" method="post" action="auth/avaisubmit.php">
<h5>7.1 Orientation</h5>
<label>Are floor-plans or maps available?</label>
<select name="floorplans">
<option value="Yes">Yes</option>
<option value="No">No</option>
</select> <br /> <br />
<label>Specify what formats</label>
<textarea cols="50" rows="4" name="format_specify"></textarea> <br />
<label>Are videos with British Sign Language(BSL) available?</label>
<select name="videos_bsl">
<option value="Yes">Yes</option>
<option value="No">No</option>
</select> <br /> <br />
<label>Do you highlight what ISN'T accessible?</label>
<select name="highlight_not_accessible">
<option value="Yes">Yes</option>
<option value="No">No</option>
<option value="Not applicable">Not applicable</option>
</select> <br /> <br />
<label>Do staff offer a browsing collections service? (i.e. where staff can browse collections and retrieve items for disabled visitors?</label>
<select name="browsing_service">
<option value="Yes">Yes</option>
<option value="No">No</option>
</select> <br /> <br />
<label>If yes, please add more details(for example if it needs to be pre-booked).</label>
<textarea cols="50" rows="4" name="more_details"></textarea> <br />
<h5> 7.2 Alternative Formats </h5>
<label>Is an audio system available?</label>
<select name="audio_system">
<option value="Yes">Yes</option>
<option value="No">No</option>
</select> <br /> <br />
<!--ADD COLUMNS BACK INTO TYPESCRIPT-->
<label>What type of audio system is it?</label>
<input type="text" name="audio_system_type" /> <br />
<label>Where is the audio system available?</label>
<input type="text" name="where_audio" /> <br />
<label>Is there a text version? </label>
<select name="text_version">
<option value="Yes">Yes</option>
<option value="No">No</option>
</select> <br /> <br />
<label>Text version - Description </label>
<textarea cols="50" rows="4" name="text_version_description"></textarea> <br />
<label>Are verbal descriptions<sup>*1</sup> available?</label>
<select name="verbal">
<option value="Yes">Yes</option>
<option value="No">No</option>
</select> <br /> <br />
<label>Verbal description - Description</label>
<textarea cols="50" rows="4" name="verbal_description"></textarea> <br />
<label>Are Tactile<sup>*2</sup> models available?</label>
<select name="tactile">
<option value="Yes">Yes</option>
<option value="No">No</option>
</select> <br /> <br />
<label>Tactile models - Description</label>
<textarea cols="50" rows="4" name="tactile_description"></textarea> <br />
<label>Are replicas<sup>*3</sup> available? (including digital copies of documents)</label>
<select name="replicas">
<option value="Yes">Yes</option>
<option value="No">No</option>
</select> <br /> <br />
<label>Replicas - Description</label>
<textarea cols="50" rows="4" name="replicas_description"></textarea> <br />
<label>Are DAISY (digital talking books)<sup>*4</sup> available?</label>
<select name="daisy">
<option value="Yes">Yes</option>
<option value="No">No</option>
</select> <br /> <br />
<label>DAISY - Description</label>
<textarea cols="50" rows="4" name="daisy_description"></textarea> <br />
<label>Are CDs<sup>*5</sup> available?</label>
<select name="cd">
<option value="Yes">Yes</option>
<option value="No">No</option>
</select> <br /> <br />
<label> CDs - Description </label>
<textarea cols="50" rows="4" name="cd_description"></textarea> <br />
<label> Are DVDs<sup>*6</sup> available? </label>
<select name="dvd">
<option value="Yes">Yes</option>
<option value="No">No</option>
</select> <br /> <br />
<label> DVDs - Description </label>
<textarea cols="50" rows="4" name="dvd_description"></textarea> <br />
<label> Are raised images<sup>*7</sup> available?</label>
<select name="raised_images">
<option value="Yes">Yes</option>
<option value="No">No</option>
</select> <br /> <br />
<label> Raised images - Description </label>
<textarea cols="50" rows="4" name="raised_images_description"></textarea> <br />
<label> Is tape available</label>
<select name="tape">
<option value="Yes">Yes</option>
<option value="No">No</option>
</select> <br /> <br />
<label> Tape - Description </label>
<textarea cols="50" rows="4" name="tape_description"></textarea> <br />
<label>Please list any other formats have, e.g. MP3 etc</label>
<textarea cols="50" rows="4" name="other_formats"></textarea> <br />
<label>Is a format conversion service<sup>*8</sup> available?</label>
<select name="format_conversion">
<option value="Yes">Yes</option>
<option value="No">No</option>
</select> <br /> <br />
<label> Format conversion service - Description </label>
<textarea cols="50" rows="4" name="format_conversion_description"></textarea> <br />
<h5> 7.3 ICT </h5>
<label>Do you have Kiosks/interactives?</label>
<select name="kiosks">
<option value="Yes">Yes</option>
<option value="No">No</option>
</select> <br /> <br />
<label>How many Kiosks do you have?</label>
<input type="text" name="num_kiosks" /> <br />
<label> How are Kiosks/interactives accessible to disabled visitors?</label>
<textarea cols="50" rows="4" name="accessible_kiosks"></textarea> <br />
<label> Where are the Kiosks/interactives located?</label>
<textarea cols="50" rows="4" name="location_kiosks"></textarea> <br />
<label>What senses do they stimulate?</label>
<select name="senses">
<option value="Hearing">Hearing</option>
<option value="Sight">Sight</option>
<option value="Touch">Touch</option>
<option value="Smell">Smell</option>
<option value-"Taste">Taste</option>
</select> <br /> <br />
<label> Are there videos with captions and audio descriptions?</label>
<select name="videos_captions_audios">
<option value="Yes">Yes</option>
<option value="No">No</option>
</select> <br /> <br />
<label> How many captioned or described videos are available?</label>
<input type="text" name="num_captioned_videos" /> <br />
<label> Where are the captioned or described videos located? </label>
<input type="text" name="location_captioned_videos" /> <br />
<label>Are there fixed point or portable audio guides or interpretation?</label>
<select name="audio_guides">
<option name="Yes">Yes</option>
<option name="No">No</option>
</select> <br /> <br />
<label>How many of these are available?</label>
<input type="text" name="num_audio_guides" /> <br />
<label>Where are they located?</label>
<input type="text" name="location_audio_guides" /> <br />
<label>Are transcripts of audio/video available?</label>
<select name="transcripts">
<option value="Yes">Yes</option>
<option value="No">No</option>
</select> <br /> <br />
<label>How many of these are available?</label>
<input type="text" name="num_transcripts" /> <br />
<label> Please give details </label>
<textarea cols="50" rows="4" name="details_transcripts"></textarea> <br />
<label>Do visitors/users have access to ICT equipment as part of their visit?</label>
<select name="access_ict">
<option value="Yes">Yes</option>
<option value="No">No</option>
</select> <br /> <br />
<label>Are there height-adjustable tables and chairs?</label>
<select name="tables_chairs">
<option value="Yes">Yes</option>
<option value="No">No</option>
</select> <br /> <br />
<label>What size is the screen?</label>
<textarea cols="50" rows="4" name="screen_size"></textarea> <br />
<label>Are there monitors mounted on universal arms for viewing at any angle?</label>
<select name="monitor_universal">
<option value="Yes">Yes</option>
<option value="No">No</option>
</select> <br /> <br />
<label>Is there a selection of mice, ketboards and joysticks with wired and wireless connection?</label>
<select name="mice_keyboards_joysticks">
<option value="Yes">Yes</option>
<option value="No">No</option>
</select> <br /> <br />
<label>Are there standalone text to speech machines?<sup>*9</sup> </label>
<select name="text_to_speech">
<option value="Yes">Yes</option>
<option value="No">No</option>
</select> <br /> <br />
<label> Description - Text to speech machines</label>
<textarea rows="4" cols="50" name="text_to_speech_description"> </textarea> <br />
<label>Is there closed circuit TV magnification equipment with X-Y tables?*</label>
<select name="closed_circuit_tv">
<option value="Yes">Yes</option>
<option value="No">No</option>
</select> <br /> <br />
<label>Is there an accessible Website?</label>
<select name="website">
<option value="Yes">Yes</option>
<option value="No">No</option>
</select> <br /> <br />
<label>Tested by:</label> <input type="text" name="accessible_website_tester" /> <br />
<label>Have you carried out access testing with disabled website users?</label>
<select name="access_testing">
<option value="Yes">Yes</option>
<option value="No">No</option>
</select> <br /> <br />
<label>Tested by:</label> <input type="text" name="accessible_testing_tester" /> <br />
<label>Can you easily increase font size?</label>
<select name="font_size">
<option value="Yes">Yes</option>
<option value="No">No<option>
</select> <br /> <br />
<label>Are pictures and text described?</label>
<select name="pictures_text_described">
<option value="Yes">Yes</option>
<option value="No">No</option>
</select> <br /> <br />
<label>Does this include downloadable resources in alternative formats?</label>
<select name="downloadables">
<option value="Yes">Yes</option>
<option value="No">No</option>
</select> <br /> <br />
<label>Downloadbles - Description</label> <input type="text" name="downloadables_description" /> <br />
<label>Is there website available on-site?</label>
<select name="website_onsite">
<option value="Yes">Yes</option>
<option value="No">No</option>
</select> <br /> <br />
<label>Where:</label> <input type="text" name="website_where" /> <br />
<label>Do you provide automatic page turners?</label>
<select name="auto_page_turners">
<option value="Yes">Yes</option>
<option value="No">No</option>
</select> <br /> <br />
<label>Add any other assistive technologies that you use to increase access</label> <input type="text" name="other_technologies" /> <br />
<label>Do you offer different assistive technologies?</label>
<select name="other_different">
<option value="Yes">Yes</option>
<option value="No">No</option>
</select> <br /> <br />
<label>If yes, please list some examples<sup>*10</sup> </label>
<textarea cols="50" rows="4" name="other_different_examples"></textarea> <br />
<input class="button" type="submit" value="Save"> <br />
</form>
PHP 提交.php
<?php
session_start();
if(isset($_SESSION['SESS_NAME']))
{
$_SESSION['SESS_NAME'] = $_SESSION['SESS_NAME'];
}
else
{
$_SESSION['SESS_NAME'] = $_POST['SESS_NAME'];
}
$username = $_SESSION["SESS_NAME"];
$floorplans = $_POST["floorplans"];
$format = $_POST["format_specify"];
$videosbsl = $_POST["videos_bsl"];
$highlight = $_POST["highlight_not_accessible"];
$browsing = $_POST["browsing_service"];
$details = $_POST["more_details"];
$audio = $_POST["audio_system"];
$whereaudio = $_POST["where_audio"];
$textversion = $_POST["text_version"];
$textversiondesc = $_POST["text_version_description"];
$verbal = $_POST["verbal"];
$verbaldesc = $_POST["verbal_description"];
$tactile = $_POST["tactile"];
$tactiledesc = $_POST["tactile_description"];
$replicas = $_POST["replicas"];
$replicasdesc = $_POST["replicas_description"];
$daisy = $_POST["daisy"];
$daisydesc = $_POST["daisy_description"];
$cd = $_POST["cd"];
$cddesc = $_POST["cd_description"];
$dvd = $_POST["dvd"];
$dvddesc = $_POST["dvd_description"];
$raised = $_POST["raised_images"];
$raiseddesc = $_POST["raised_images_description"];
$tape = $_POST["tape"];
$tapedesc = $_POST["tape_description"];
$other = $_POST["other_formats"];
$formatconv = $_POST["format_conversion"];
$fcdesc = $_POST["format_conversion_description"];
$kiosks = $_POST["kiosks"];
$numkiosks = $_POST["num_kiosks"];
$accesskiosks = $_POST["accessible_kiosks"];
$locationkiosks = $_POST["location_kiosks"];
$senses = $_POST["senses"];
$vca = $_POST["videos_captions_audios"];
$numvca = $_POST["num_captioned_videos"];
$locvca = $_POST["location_captioned videos"];
$audioGuide = $_POST["audio_guides"];
$numAG = $_POST["num_audio_guides"];
$locAG = $_POST["location_audio_guides"];
$transcripts = $_POST["transcripts"];
$numtranscripts = $_POST["num_transcripts"];
$detailtranscripts = $_POST["details_transcripts"];
$accessICT = $_POST["access_ict"];
$tableschairs = $_POST["tables_chairs"];
$screensize = $_POST["screen_size"];
$monitors = $_POST["monitor_universal"];
$mkj = $_POST["mice_keyboards_joysticks"];
$textspeech = $_POST["text_to_speech"];
$textspeechdesc = $_POST["text_to_speech_description"];
$circutTV = $_POST["closed_circuit_tv"];
$website = $_POST["website"];
$tester = $_POST["accessible_website_tester"];
$accessTesting = $_POST["access_testing"];
$accessibleTester = $_POST["accessible_testing_tester"];
$fontsize = $_POST["font_size"];
$pictexts = $_POST["pictures_text_described"];
$downloadables = $_POST["downloadables"];
$downloadablesdesc = $_POST["downloadables_description"];
$webonsite = $_POST["website_onsite"];
$webwhere = $_POST["website_where"];
$pageturners = $_POST["auto_page_turners"];
$othertech = $_POST["other_technologies"];
$otherdiff = $_POST["other_different"];
$otherdiffeg = $_POST["other_different_examples"];
$systemaudio = $_POST["audio_system_type"];
$conn = pg_connect("db_string");
$user = pg_query("SELECT * FROM staff WHERE username='$username'");
$user_row = pg_fetch_assoc($user);
$user_res = $user_row['s_id'];
var_dump($user_res);
$check = pg_query("SELECT name FROM availability");
$num_rows = pg_num_rows($check);
if($num_rows == 1)
{
$res = pg_query("UPDATE availability SET (floorplans_maps, formats, videos_with_bsl, highlight_not_accessible, browsing_collection_service,
more_detail, audio_system, where_audio_system, text_version, text_version_description, verbal, verbal_description,
tactile_models, tactile_models_description, replicas, replicas_description, daisy, daisy_description, cd, cd_description, dvd, dvd_description, raised_images, raised_images_descriptipon, tape, tape_description,
other_formats, format_conversion, format_conversion_description, kiosks, num_kiosks, accessible_kiosks, location_kiosks, senses,
video_captions_audio_description, num_captioned_videos, location_captioned_videos, audio_guides, num_audio_guides, location_audio_guides,
transcripts, num_transcripts, details_transcripts, access_to_ict, height_adjust_chairs, screen_size, monitor_universal_arms, mice_keyboards_joysticks,
text_to_speech_machines, text_to_speech_machines_description, closed_circuit_tv, accessible_website, accessible_website_tester, access_testing, access_testing_tester,
font_size_adjustment, pictures_text_described, downloadables_included, downloadables_description, website_onsite, website_where, auto_page_turner, other_technologies,
offer_different, offer_different_examples, type_audio_system) =
('$floorplans',
'$format',
'$videosbsl',
'$highlight',
'$browsing',
'$details',
'$audio',
'$whereaudio',
'$textversion',
'$textversiondesc',
'$verbal',
'$verbaldesc',
'$tactile',
'$tactiledesc',
'$replicas',
'$replicasdesc',
'$daisy',
'$daisydesc',
'$cd',
'$cddesc',
'$dvd',
'$dvddesc',
'$raised',
'$raiseddesc',
'$tape',
'$tapedesc',
'$other',
'$formatconv',
'$fcdesc',
'$kiosks',
'$numkiosks',
'$accesskiosks',
'$locationkiosks',
'$senses',
'$vca',
'$numvca',
'$locvca',
'$audioGuide',
'$numAG',
'$locAG',
'$transcripts',
'$numtranscripts',
'$detailtranscripts',
'$accessICT',
'$tableschairs',
'$screensize',
'$monitors',
'$mkj',
'$textspeech',
'$textspeechdesc',
'$circutTV',
'$website',
'$tester',
'$accessTesting',
'$accessibleTester',
'$fontsize',
'$pictexts',
'$downloadables',
'$downloadablesdesc'
'$webonsite',
'$webwhere',
'$pageturners',
'$othertech',
'$otherdiff',
'$otherdiffeg',
'$systemaudio') WHERE name='$user_res'");
}
elseif($num_rows == 0)
{
$res = pg_query("INSERT INTO availability (floorplans_maps, formats, videos_with_bsl, highlight_not_accessible, browsing_collection_service,
more_detail, audio_system, where_audio_system, text_version, text_version_description, verbal, verbal_description,
tactile_models, tactile_models_description, replicas, replicas_description, daisy, daisy_description, cd, cd_description, dvd, dvd_description, raised_images, raised_images_descriptipon, tape, tape_description,
other_formats, format_conversion, format_conversion_description, kiosks, num_kiosks, accessible_kiosks, location_kiosks, senses,
video_captions_audio_description, num_captioned_videos, location_captioned_videos, audio_guides, num_audio_guides, location_audio_guides,
transcripts, num_transcripts, details_transcripts, access_to_ict, height_adjust_chairs, screen_size, monitor_universal_arms, mice_keyboards_joysticks,
text_to_speech_machines, text_to_speech_machines_description, closed_circuit_tv, accessible_website, accessible_website_tester, access_testing, access_testing_tester,
font_size_adjustment, pictures_text_described, downloadables_included, downloadables_description, website_onsite, website_where, auto_page_turner, other_technologies,
offer_different, offer_different_examples, name, type_audio_system) VALUES (
'$floorplans',
'$format',
'$videosbsl',
'$highlight',
'$browsing',
'$details',
'$audio',
'$whereaudio',
'$textversion',
'$textversiondesc',
'$verbal',
'$verbaldesc',
'$tactile',
'$tactiledesc',
'$replicas',
'$replicasdesc',
'$daisy',
'$daisydesc',
'$cd',
'$cddesc',
'$dvd',
'$dvddesc',
'$raised',
'$raiseddesc',
'$tape',
'$tapedesc',
'$other',
'$formatconv',
'$fcdesc',
'$kiosks',
'$numkiosks',
'$accesskiosks',
'$locationkiosks',
'$senses',
'$vca',
'$numvca',
'$locvca',
'$audioGuide',
'$numAG',
'$locAG',
'$transcripts',
'$numtranscripts',
'$detailtranscripts',
'$accessICT',
'$tableschairs',
'$screensize',
'$monitors',
'$mkj',
'$textspeech',
'$textspeechdesc',
'$circutTV',
'$website',
'$tester',
'$accessTesting',
'$accessibleTester',
'$fontsize',
'$pictexts',
'$downloadables',
'$downloadablesdesc'
'$webonsite',
'$webwhere',
'$pageturners',
'$othertech',
'$otherdiff',
'$otherdiffeg',
'$user_res',
'$systemaudio')");
}
pg_close($conn);
?>
再次对源代码的长度深表歉意。只是似乎无法找出错误。