如何使用PHP和AJAX插入SQL



我看过这篇文章:从PHP(jQuery/AAJAX)插入MySQL,但我没有得到代码。这是一个相当古老的帖子,所以它可能不再工作了?

我想在不更新页面的情况下,将我的网站(PHP)中的帖子插入到我的数据库(MySQL)中。我正在研究AJAX(例如上面的链接),但我不知道如何让它发挥作用。

我也看过这个视频:https://www.youtube.com/watch?v=lwo4fAqaVFM用于加载数据,这很简单,所以我认为插入也很简单,但事实并非如此。。。

有人能帮我吗?

这个新的save.php确实有效。

index.php

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <script type="text/javascript" src="jquery.js"></script>
</head> 
<body>
    <form id="example" method="post">
        <input name="textbox">
        <input type="button" name="submitbuttonname" value="submit" onClick="$.post('save.php', $('form#example').serialize())">
    </form>
</body>

新建save.php

$db = new mysqli('localhost','root','','audf');
mysqli_set_charset($db, 'utf8') or die('Charset kunde inte ändras till UTF-8');
if($db->connect_errno){
    die('Sorry, we are having some problems.');
}
$firstName = $_POST["firstName"];
$db->query("INSERT INTO test_db (first_name) VALUES ('".$firstName."')");

旧的save.php

$db = new mysqli('localhost','root','','audf');
mysqli_set_charset($db, 'utf8') or die('Charset kunde inte ändras till UTF-8');
if($db->connect_errno){
    die('Sorry, we are having some problems.');
}
if($_POST["submitbuttonname"]) {
    $q = $db->prepare("INSERT INTO test_db (first_name) VALUES (?)");
    $q->execute(array($_POST["textbox"]));
}

您的表单正在以$_GET的形式发送数据
method="POST"添加到<form>元素中。

编辑:哦。好的,我没有完全阅读您的代码:

您的表单可能是在触发$.post请求之前发送的
尝试将输入类型从"提交"更改为"按钮"。

问候;)

为了更简洁的代码,我做了一些修改。

html

<form id="example" method="post">
    <input name="textbox">
    <input type="button" name="submitbuttonname" value="submit">
</form>

ajax使用POST方法调用save.php

$('#example').submit(function(e){
e.preventDefault();
var frmdata = $('#example').serializeArray();
$.ajax({
    url: 'save.php',
    type: 'POST',
    data : frmdata,
    dataType: 'json',
    success: function(data){
        alert("Saved!");
    },
    error: function(err) {
        console.log(err.responseText);
    }
});
});

save.php-缺少绑定参数

if($_POST["textbox"]) {
$textb = $_POST['textbox'];
$q = $db->prepare("INSERT INTO test_db (first_name) VALUES (?)");
$q->bind_param("s",$fname);
$fname = $textb;
$q->execute();
if($q){
 $array = array('data'=> $textb);
  echo json_encode($array);
}
}

链接一直工作到现在。您的代码可能有问题。你可以发布一段你尝试过的内容,这样我们就可以找出缺少的内容。快乐编码!

相关内容

  • 没有找到相关文章

最新更新