gpt4 book ai didi

php - 如何将数据从 jQuery 传递到 php 以保存到数据库中?

转载 作者:可可西里 更新时间:2023-11-01 08:07:03 25 4
gpt4 key购买 nike

我已经阅读了有关 jQuery.ajax 方法的信息,并且相信这应该是我所需要的——但到目前为止还无法让它发挥作用。

我创建了一个带有名为“users”的表的测试 mysql 数据库,向该表添加了“name”和“location”的行,然后确保我可以使用命令行将数据保存到其中,我可以做到。然后我制作了一个带有按钮的测试页面,并将此副本添加到我的脚本文件中($.ajax 部分直接来自 jQuery api 示例):

$('#button').click(function(){
saveData();
});

function saveData(){
$.ajax({
type: "POST",
url: "process.php",
data: { name: "John", location: "Boston" }
}).done(function( msg ) {
alert( "Data was saved: " + msg );
});
}

我确实收到一条警告消息,“数据已保存”,但实际上没有任何内容保存到我的数据库中。我一定是对 process.php 做错了什么,但不确定是什么。这是 process.php 中的代码(我为数据库、db_host、用户等设置了变量,但我没有在此处显示):

// 1. Create a connection to the server. 
$connection = mysql_connect($db_host, $db_user,$db_pwd);

// make sure a connection has been made
if (!$connection){
die("Database connection failed: " . mysql.error());
}

// 2. Select the database on the server
$db_select = mysql_select_db($database, $connection);
if (!$db_select){
die("Database selection failed: " . mysql.error());
}

// START FORM PROCESSING
if (isset($_POST['submit'])) { // Form has been submitted.
$name = trim(mysql_prep($_POST['name']));
$location = trim(mysql_prep($_POST['location']));

// INSERT THE DATA
$query = "INSERT INTO user ( name, location )
VALUES ( '{$name}','{$location}' )";
// Confirm if the query is successful.
$result = mysql_query($query, $connection);
}

最佳答案

其他人已经告诉过,关于使用“成功”和“错误”,这确实是捕获成功/错误回调的更好方法。但这真的不是什么都不插入的问题。除此之外,您的 Ajax 调用看起来还不错。

我看到的另一个问题是您只传递了以下参数:

data: { name: "John", location: "Boston" }

但在您的 PHP 代码中,您会检查是否设置了提交按钮:

if (isset($_POST['submit']))

这显然不是这种情况,因为发送的唯一内容是您在 Ajax 调用的“数据”属性中传递的内容。而是使用:

if ( $_SERVER['REQUEST_METHOD'] == 'POST' )

关于php - 如何将数据从 jQuery 传递到 php 以保存到数据库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10584370/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com