加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何从表单中选择要上传到Mysql的表

发布时间:2020-12-13 22:50:18 所属栏目:PHP教程 来源:网络整理
导读:PHP初学者在这里我想问一个关于使用表单将信息上传到数据库的问题. 我有一个包含48个不同类别的网站. www.ralphslocal.com.如果您访问该站点,您将看到每个类别我从数据库中的不同表中提取信息. 用于填充表格的表单缺少一种选择我要上传到的表格的方法.此时,
PHP初学者在这里&我想问一个关于使用表单将信息上传到数据库的问题.
我有一个包含48个不同类别的网站. www.ralphslocal.com.如果您访问该站点,您将看到每个类别我从数据库中的不同表中提取信息.

用于填充表格的表单缺少一种选择我要上传到的表格的方法.此时,当我想上传到另一个表时,我需要更改“insert.php”中的表名

我需要在表单上选择要上传到的表格吗?
如果我不清楚我道歉.我感谢您提供的任何帮助.

这是我的表单的代码:

<form action="insert.php" method="POST">
<p>Retailer:&#160;&#160;&#160;&#160;<input type="text" name="retailer"></p>
<p>WebSite:&#160;&#160;&#160;<input type="text" name="website"></p>
<p>City:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<select name="city">
                       <option value="BellaVista">BellaVista</option>
                       <option value="Bentonville">Bentonville</option>
                       <option value="Centerton">Centerton</option>
                       <option value="Farmington">Farmington</option>
                       <option value="Fayetteville">Fayetteville</option>
                       <option value="Lowell">Lowell</option>
                       <option value="Rogers">Rogers</option>
                       <option value="Springdale">Springdale</option>
                       <option value="Tontitown">Tontitown</option>
                       <option value="West Fork">West Fork</option>
                                                           </select></p>
<p>Phone:&#160;&#160;&#160;&#160;&#160;&#160;<input type="text" name="phone"></p>
<input type="submit">
</form>

这是我的“insert.php”文件的代码:

<?php require 'connect.php'; ?>

<?php
$sql="INSERT INTO garden_nursery (Retailer,WebSite,City,Phone)
VALUES
('$_POST[retailer]','$_POST[website]','$_POST[city]','$_POST[phone]')";

if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}{
echo "1 record added";
}
mysqli_close($con);
?>

非常感谢!
拉尔夫

解决方法

你的问题的答案很简单.将其添加到您的表单:

<select name='data_table'>
  <option value='appliances'> Appliances </option>
  <option value='garden_nursery'> Garden Nursery </option>
  <option value='table_name_formated'> Table Name </option> 
  <!-- and so on for all of youre tables -->
 </select>

在insert.php中,将您为$sql赋值的行更改为:

$sql="INSERT INTO $_POST[data_table] (Retailer,Phone) 
VALUES ('$_POST[retailer]','$_POST[phone]')";

补充说明:
访问您的网站后,如果我能正确看到它,您制作了38个不同的表,具有相同的数据结构.为什么不在一个名为table的alldata(或类似的东西)中再添加一列,它存储相应的类别?这样,以后添加新类别时,无需始终创建新表.

附加说明2:
在尝试将其存储在数据库中之前,逃避用户提供的输入也会更安全,就像tadman所说的那样.将此添加到您的insert.php文件中,在您为$sql赋值的位置.

$datatable=mysqli_real_escape_string($con,$_POST['data_table']);
$retailer=mysqli_real_escape_string($con,$_POST['retailer']);
$website=mysqli_real_escape_string($con,$_POST['website']);
$city=mysqli_real_escape_string($con,$_POST['city']);
$phone=mysqli_real_escape_string($con,$_POST['phone']);
$sql="INSERT INTO $datatable (Retailer,Phone) VALUES ('$retailer','$website','$city','$phone')";

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读