Php 动态潜在客户捕获脚本
我正在创建一个动态潜在客户捕获脚本 表单传递表名和其他post数据 我正在寻找一种方法来收集所有post输入,并将其插入MySQL表,而不知道输入名称,因为每个“lead”脚本都不同,并且包含不同的字段 该表已创建,并包含输入所需的所有列 有什么好主意吗?Php 动态潜在客户捕获脚本,php,mysql,forms,Php,Mysql,Forms,我正在创建一个动态潜在客户捕获脚本 表单传递表名和其他post数据 我正在寻找一种方法来收集所有post输入,并将其插入MySQL表,而不知道输入名称,因为每个“lead”脚本都不同,并且包含不同的字段 该表已创建,并包含输入所需的所有列 有什么好主意吗? 干杯 一个快速解决方案是序列化已验证post数据的数组。这将把它转换成一个字符串以存储在数据库中 您可以取消序列化该字符串以将其转换回可管理数组 最大的缺点是,通过将数据放在单独的数据库字段中,没有完全的SQL支持 我将使用这两种技术的组合
干杯 一个快速解决方案是序列化已验证post数据的数组。这将把它转换成一个字符串以存储在数据库中 您可以取消序列化该字符串以将其转换回可管理数组 最大的缺点是,通过将数据放在单独的数据库字段中,没有完全的SQL支持 我将使用这两种技术的组合,将姓名、电子邮件等一致的数据放在自己的字段中,将未知数据放在另一个字段中 -- 尝试索引标识(如果您不知道具体名称): -- 从数据生成SQL字符串。请记住,要警惕验证,最好使用Mysqli绑定参数正确构建查询字符串
foreach($_POST as $input_name => $input_value){
//do validation here
//match columns here
if($input_name=='name') $cleaned[$input_name] = $input_value;
}
$values_csv = '"'.implode('","',$cleaned).'"';
$sql = "INSERT INTO table_name VALUES ($values_csv);";
我同意,缺点是我的问题,因为表已经用分离的字段构建,因此我需要找到一种方法将数据插入字段(基本上输入名称与mysql字段名称相同)。如果不知道输入名称,就无法知道数据来自哪些字段。您可以测试每个输入的数据,看看它可能是什么,或者通过它的索引来识别输入的数据,即$\u POST数组中的位置。索引是一致的吗?我现在要做的是:我用array\u键($\u POST)收集所有输入;然后我必须找到一种在sql查询中设置这些值的方法:在表_name(column1,column2,column3,…)中插入值(value1,value2,value3,…)-现在我不知道如何在不循环的情况下设置列和值数据。循环是构建自己的字符串查询字符串的唯一选择。使用数组\值/数组\键的组合来获取所需内容。但是请注意,您应该验证所有数据——包括键和值。如果您有一个与列名称不匹配的键,您的查询将出现错误。不确定如何循环,毕竟我需要使用所有列及其数据(相同顺序)执行1个MySQL查询。
foreach($_POST as $input_name => $input_value){
//do validation here
//match columns here
if($input_name=='name') $cleaned[$input_name] = $input_value;
}
$values_csv = '"'.implode('","',$cleaned).'"';
$sql = "INSERT INTO table_name VALUES ($values_csv);";