使用php/ajax/mysql将记录添加到数据库中的最佳方法?

使用php/ajax/mysql将记录添加到数据库中的最佳方法?,php,javascript,mysql,ajax,methodology,Php,Javascript,Mysql,Ajax,Methodology,想知道是否有人能为我目前集成php/js/mysql的方法提出更好的建议 我使用这种方法返回样本数据、设置唯一值等,效果很好(使用各种身份验证方法来减缓攻击尝试)。但是,我现在想添加相对大量的数据,并想知道是否有更好的方法 目前我这样做: JS $.ajax( { type : "GET", url : "_dbGetSomeData", dataType : "html", success: function(data) { parseData(

想知道是否有人能为我目前集成php/js/mysql的方法提出更好的建议

我使用这种方法返回样本数据、设置唯一值等,效果很好(使用各种身份验证方法来减缓攻击尝试)。但是,我现在想添加相对大量的数据,并想知道是否有更好的方法

目前我这样做:

JS

$.ajax( {
    type : "GET",
    url : "_dbGetSomeData",
    dataType : "html",
    success: function(data) {
        parseData(data);
    }
});
var postData = {
    first_name: 'Foo',
    last_name: 'Bar',
    phone: '1-555-432-1234'
};

$.post('path/to/ajax/url.php', postData)
 .done(function(response) {
    alert("Data Loaded: " + response);
 });
PHP

<?php 
include '_common.php'; 
include '_auth.php';

$INPUT_EMAIL= mysql_real_escape_string($_GET["e"]);
$INPUT_FINGERPRINT = $_SESSION[SESH_VAR_NAME];

//--- Do some SQL stuff in the DB
?>
// Connect to MySQL
$dbh = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);

// We want do some validation on the data so we can make a function called
// `validate()` if you want.
$data = validate($_POST);

$stmt = $dbh->('INSERT INTO my_table (first_name, last_name, phone) 
    VALUES (:first_name, :last_name, :phone)');

$stmt->execute($data); 


对于一次性的数据请求或设置一个值,这种方法很好,但是我可以使用这种方法保存更多数据吗?我真的不想一开始就在_dbphp文件中大量的查询串帖子上胡闹。

下面是一个如何使用jQuery/PHP/MySQL处理Ajax请求的示例

JS

$.ajax( {
    type : "GET",
    url : "_dbGetSomeData",
    dataType : "html",
    success: function(data) {
        parseData(data);
    }
});
var postData = {
    first_name: 'Foo',
    last_name: 'Bar',
    phone: '1-555-432-1234'
};

$.post('path/to/ajax/url.php', postData)
 .done(function(response) {
    alert("Data Loaded: " + response);
 });
PHP

<?php 
include '_common.php'; 
include '_auth.php';

$INPUT_EMAIL= mysql_real_escape_string($_GET["e"]);
$INPUT_FINGERPRINT = $_SESSION[SESH_VAR_NAME];

//--- Do some SQL stuff in the DB
?>
// Connect to MySQL
$dbh = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);

// We want do some validation on the data so we can make a function called
// `validate()` if you want.
$data = validate($_POST);

$stmt = $dbh->('INSERT INTO my_table (first_name, last_name, phone) 
    VALUES (:first_name, :last_name, :phone)');

$stmt->execute($data); 

使用POST而不是GET,使用PDO或mysqli和prepared语句而不是mysql和real_escape_string。你的意思是要返回批量数据吗?不,我只想设置/存储大量数据。我会调查准备好的陈述。这似乎比在php页面的循环中进行许多异步ajax调用更好,因为php页面将数据保存在本地数据库中。干杯,伙计们,好的,读一下这些,它们看起来很棒,而且是我准备db交互的更好的方式。但是,它并没有真正解释我最终将如何将数据从JS/HTML页面(例如,带有行的表对象)发送到PHP页面(通过ajax调用)。如果可能的话,我希望避免将一个巨大的查询字符串发送到PHP页面,然后进行解析。Post不会发送一个查询字符串。如果您想设置大量数据,您必须以某种方式发送所有数据,有什么替代方案?很好的解决方案。比我的代码整洁多了。非常感谢克里斯隆