猿问

如何从选项中获取输入,而我必须将数据输入到同一个数据库的两个表中,基于选项数据将被插入

我在数据库中有两个表,我必须通过表单输入数据,但条件是 - 表单中有一个选择选项,作为我们必须插入数据的选项。如果选择了选项 1,则数据应插入到表 x 中,如果选择了选项 2,则应将数据插入到表 y


我曾尝试使用 switch case 和 elseif,但找不到合适的条件。html代码-


        <form method="post" class="register-form" id="register-form">

                                    <div class="form-group">

                                        <label for="name"><i class="zmdi zmdi-account material-icons-name"></i></label>

                                        <input type="text" name="aname" id="name" placeholder="Your Name"/>

                                    </div>


                                    <div class="form-group">

                                        <label for="email"><i class="zmdi zmdi-email"></i></label>

                                        <input type="email" name="email" id="email" placeholder="Your Email"/>

                                    </div>


                                    <div class="form-group">

                                        <label for="address"><i class="zmdi zmdi-home"></i></label>

                                        <input type="text" name="address" id="address" placeholder="Your Address"/>

                                    </div>

                                     <div class="form-group">

                                        <label for="user"><i class="zmdi zmdi-accounts-alt"></i></label>

                                        <select  id="person-type" name="logtype" required style="border-top: rgba(0,0,0,0.0);border-right: rgba(0,0,0,0.0);border-left: rgba(0,0,0,0.0); width: 100%;margin-left: 22px;">


没有错误,而数据未插入表中


摇曳的蔷薇
浏览 140回答 3
3回答

料青山看我应如是

您应该在查询执行中添加一些错误处理以帮助查找发生了什么。在 php 中传递的基本 mysqli 错误将类似于:<?php&nbsp;if (!mysqli_query($edb,"YOUR QUERY HERE"))&nbsp;{&nbsp; echo("Error description: " . mysqli_error($con));&nbsp;}?>

宝慕林4294392

您的查询在 md5 函数附近存在语法错误。它被执行为 md5.(password) 而不是 md5(password)。还建议在开发模式下在 php 上保持错误日志记录。https://www.php.net/manual/en/function.error-reporting.php

繁星点点滴滴

我认为您使用的 md5 函数是错误的。'" . md5($_POST['apass']) . "'代替md5.('".$_POST['apass']."') //md5 必须在双引号中的 PHP 部分为了尽量减少错误源,我更喜欢这个代码:if ($_POST['logtype'] === 'consumer') {&nbsp; &nbsp; $table = "consumer";}elseif ( $_POST['logtype'] === 'electrician' ){&nbsp; &nbsp; $table = "electrician";}$apass = md5($_POST['apass']);$consumer = mysqli_query($edb,"insert into " . $table . " (name,email,address,logtype,password) values('".$_POST['aname']."','".$_POST['email']."','".$_POST['address']."','".$_POST['logtype']."','" . $apass . "'))");header("Location:loginonly.php");
随时随地看视频慕课网APP
我要回答