在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>";
}
}