Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中使用if-else语句插入数据库表_Php_Mysql_Database_Forms - Fatal编程技术网

在php中使用if-else语句插入数据库表

在php中使用if-else语句插入数据库表,php,mysql,database,forms,Php,Mysql,Database,Forms,也许我没问清楚 假设我有两种形式 <form action="reg.php" method="post" enctype="multipart/form-data"> <input type="text" name="reg_as" id="export" value="exporter"> <input type="submit" name="reg"> </form> <form action="reg.php" me

也许我没问清楚 假设我有两种形式

<form action="reg.php" method="post" enctype="multipart/form-data">
    <input type="text" name="reg_as" id="export" value="exporter">
    <input type="submit" name="reg">
</form>

<form action="reg.php" method="post" enctype="multipart/form-data">
    <input type="text" name="reg_as" id="import" value="importer">
    <input type="submit" name="reg">
</form>
如何在if-else条件下插入多个表 reg.php


这里的问题是,数据不能插入数据库。请问有什么问题?

这是一个赋值,表达式返回booltrue:

如果$reg_as=出口商

要比较这两个值,应使用两个等号:

如果$reg_as==出口商

也许你可以这样做:

<form action="reg.php" method="post" enctype="multipart/form-data">
    <select name="type" id="type">
        <option value="importer">Importer</option>
        <option value="exporter">Exporter</option>
    </select>

    <input type="text" name="reg_as" placeholder="Insert your data here..." />

    <input type="submit" name="submit" value="Save">
</form>

<?php

if (!empty($_POST['submit'])) {
    $type = in_array($_POST['type'], ['exporter', 'importer']) ? $_POST['type'] : false;
    $value = $_POST['reg_as'];

    switch ($type) {
        case 'exporter':
            $query = "INSERT INTO exporter (reg_as) VALUES (:reg_as)";
            break;
        case 'importer':
            $query = "INSERT INTO importer (reg_as) VALUES (:reg_as)";
            break;
        default:
            throw new Exception('Handle your error here!');
            break;
    }

    $statement = $db->prepare($query);
    $insert = $statement->execute([':reg_as' => $value]);

    if ($insert) {
        header("Location: index.php");
    } else {
        echo "<script>alert('There was an error some where!.. Please try again')</script>";
    }
}

您正在分配=而不是比较==。我知道php代码的安全风险,所以请忽略该部分-如果该部分是导致问题的原因,该怎么办?当您的代码在某种程度上无法正常工作时,向我们保证一切正常且无需纠正并不是诊断和解决问题的特别有效的方法。Hubert Blaine Wolfeschlegelsteinhausenbergerdorff这个家伙永远无法注册到您的系统上。您是对的。这是问题的一部分。我编辑了我的问题,请帮助,因为数据没有插入数据库。两个字段都命名为reg\u as,但在代码中,您请求的是reg\u as和reg.Yea。reg是提交文件的提交输入form@TegaOke我已经编辑了答案。
<form action="reg.php" method="post" enctype="multipart/form-data">
    <select name="type" id="type">
        <option value="importer">Importer</option>
        <option value="exporter">Exporter</option>
    </select>

    <input type="text" name="reg_as" placeholder="Insert your data here..." />

    <input type="submit" name="submit" value="Save">
</form>

<?php

if (!empty($_POST['submit'])) {
    $type = in_array($_POST['type'], ['exporter', 'importer']) ? $_POST['type'] : false;
    $value = $_POST['reg_as'];

    switch ($type) {
        case 'exporter':
            $query = "INSERT INTO exporter (reg_as) VALUES (:reg_as)";
            break;
        case 'importer':
            $query = "INSERT INTO importer (reg_as) VALUES (:reg_as)";
            break;
        default:
            throw new Exception('Handle your error here!');
            break;
    }

    $statement = $db->prepare($query);
    $insert = $statement->execute([':reg_as' => $value]);

    if ($insert) {
        header("Location: index.php");
    } else {
        echo "<script>alert('There was an error some where!.. Please try again')</script>";
    }
}