php - 多变量爆破插入MySQL

标签 php jquery mysql ajax

我在站点中检查了可能的解决方案,但没有找到任何解决方案。我有一个表单,其中有两个文本字段供用户输入姓名和手机号码。默认情况下,该页面仅显示两个字段。如果用户想要,他可以添加更多。问题是,我无法将这些多个数据插入到数据库中。请看下面。我没有 10 个声誉来发布图像。因此,我提供了一个外部链接。

1) 初始形式 http://postimg.org/image/qiojxjrcx/

2) 点击加号,用户可以添加更多字段 http://postimg.org/image/zaetpokbx/
3) 使用 Jquery 动态添加的字段具有唯一的 ID 和类。以下脚本用于获取员工姓名和手机号码的值
a) 获取员工姓名的脚本

var addstaffname = new Array();
	$('input[class="addstaff"]').each(function() {
       addstaffname.push(this.value);
	   }); 

b) 获取手机号码的脚本

var addstaffmob = new Array();
	$('input[class="addstaffmob"]').each(function() {
       addstaffmob.push(this.value);
}); 

我通过使用 Staff Name 和 Mobile 的类来获取值。通过 ajax,我在 PHP 中发布这些值。

$.ajax({
			type:"POST",
			url:"../../ajax.php",
			data:'addstaffname='+addstaffname+'&addstaffmob='+addstaffmob,
			cache:false,
			success: function(data)
			{
				alert(data);
				
			}
			})

在 ajax.php 中,我将这些值存储到变量中。

if(isset($_POST['addstaffname']))
{
$addstaffname = $_POST['addstaffname'];
$addstaffmob = $_POST['addstaffmob'];
$addstaffnameexploded = explode(',',$addstaffname);
$addstaffmobexploded = explode(',',$addstaffmob);
}

我正在使用 explode,因为我有多个值,我得到的所有值都是来自 Jquery 的 CSV。我有一个名为 staff 的表,其中包含三列,staff_id、staff_name、staff_mobile 和 staff_id 是 PK 和自动增量。我的问题是如何在同一行中插入员工姓名和手机。假设我们从表单中获得员工姓名 A、B、C 和手机号码 100,200,300,我需要将这些值插入到 MySQL 数据库中。所以 A 将有移动 100,B 将有 200 等等......如果我只有一个爆炸,我可以轻松地使用 foreach 循环和迭代。很简单。我对如何在这种情况下插入数据感到很生气。任何帮助将不胜感激。

最佳答案

我认为最好的方法是创建一个表单并在输入中使用数组

<input type="text" name="addstaffname[]" value="" />
<input type="text" name="addstaffmob[]" value="" />

然后使用ajax发送整个表单

$("#form").ajaxForm({url: 'server.php', type: 'post'});

(ajaxForm 是一个 jquery 插件 ajaxForm )

当您在 php 中收集数据时,您只需为它的关键变量之一执行 foreach,有些像这样。

$addstaffname = $_POST['addstaffname'];
$addstaffmob  = $_POST['addstaffmob'];

foreach($addstaffname as $key=>$name){
  echo "Your name is " . $name . " and your phone is " . $addstaffmob[$key];
}

显然你需要转换为 vars,用于 sql 注入(inject)等

关于php - 多变量爆破插入MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32442843/

相关文章:

php - 按日期分组观看电影

javascript - 如何在jquery中插入嵌套项目?

mysql - 截断 MySQL 查询中的日期时间列

mysql - Sequelize - 在 where 子句中查询其他表

php - 如何MySQL两个日期相加并与当前时间戳进行比较

php - 如何在 PHP 中为今天的 MM/DD/YYYY 格式创建一个变量?

php - 如何获得更多的变量值?

javascript - 在 Greasemonkey 中修改 Angular JS 中的 DOM 元素

javascript - 使用 Javascript 的 Ajax 请求在 iPhone 浏览器中不起作用

mysql - 选择数据库中重复出现的字段