Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从ajax和php插入mysql_Php_Jquery_Mysql_Ajax - Fatal编程技术网

从ajax和php插入mysql

从ajax和php插入mysql,php,jquery,mysql,ajax,Php,Jquery,Mysql,Ajax,大家好,我正在尝试使用php从ajax向mysql插入数据。这里是我的代码,任何人都可以提供帮助。 我得到的唯一错误是数据没有插入,在我的mysql中,值没有传入。 我的ajax中的问题在哪里? 或者在我的php中传递值 index.php <?php include "bd.php"; ?> <!DOCTYPE html> <html> <head> <title>Submit Form Using AJAX and jQue

大家好,我正在尝试使用php从ajax向mysql插入数据。这里是我的代码,任何人都可以提供帮助。 我得到的唯一错误是数据没有插入,在我的mysql中,值没有传入。 我的ajax中的问题在哪里? 或者在我的php中传递值

index.php

<?php include "bd.php"; ?>
<!DOCTYPE html>
<html>
<head>
    <title>Submit Form Using AJAX and jQuery</title>
    <!-- Latest compiled and minified CSS -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
    <!-- Optional theme -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
    <script
    src="https://code.jquery.com/jquery-2.2.4.js"
    integrity="sha256-iT6Q9iMJYuQiMWNd9lDyBUStIq/8PuOW33aOqmvFpqI="
    crossorigin="anonymous"></script>

    <link href="main.css" rel="stylesheet">

</head>
<body>
<div class="container ">

    <form class="form-signin text-center col-md-6" method="post" action="">
        <h2 class="form-signin-heading">Please Insert value in</h2>
        <div class="form-group">
        <label for="name" class="sr-only">Name:</label>
        <input type="text" id="name" name="name" class="form-control" placeholder="Name">
        </div>
        <div class="form-group">
        <label for="last_name" class="sr-only">Last name</label>
        <input type="text" id="last_name" name="last_name" class="form-control" placeholder="Last Name" >
        </div>
        <div class="form-group">
        <label for="email" class="sr-only">email:</label>
        <input type="text" id="email" name="email" class="form-control" placeholder="Email" >
        </div>
        <div class="form-group">
        <label for="phone" class="sr-only">Phone:</label>
        <input type="text" id="phone" name="phone" class="form-control" placeholder="Phone" >
        </div>

        <div class="form-group">
            <label for="bridge">Select list:</label>
            <select class="form-control" id="bridge" name="bridge">
                <option>None</option>
                <option>eAgent</option>
                <option>iArts</option>
                <option>Orbit</option>
                <option>G&G</option>
                <option>EstateWeb</option>
                <option>Globalc</option>
            </select>
        </div>
        <div class="form-group">
            <label for="comments">Comment:</label>
            <textarea class="form-control" rows="5" id="comments" name="comments"></textarea>
        </div>

        <button type="button" id="submit" class="btn btn-lg btn-primary btn-block" >Register</button>
    </form>
    <div class="col-md-6">
        <h2>Here is tha form with ajax.</h2>

    </div>

</div> <!-- /container -->

<script type="text/javascript">
    $(document).ready(function(){

        $("#submit").click(function(){
            var name = $("#name").serialize();
            var last_name = $("#last_name").serialize();
            var email = $("#email").serialize();
            var phone = $("#phone").serialize();
            var bridge = $("#bridge").serialize();
            var comments = $("#comments").serialize();

            $.ajax({
                type    : "POST",
                url     : "ajax.php",
                data    : {'name': name,'email': email ,'last_name':last_name,'phone':phone,'bridge': bridge, 'comments': comments},

                success : function(result) {
                    alert(result);

                }
            });
        });

    });
</script>

</body>

</html>

使用AJAX和jQuery提交表单
请在中插入值
姓名:
姓
电邮:
电话:
选择列表:
没有一个
伊根
iArts
轨道
G&G
地产网
Globalc
评论:
登记
下面是使用ajax的表单。
$(文档).ready(函数(){
$(“#提交”)。单击(函数(){
变量名称=$(“#名称”).serialize();
var last_name=$(“#last_name”).serialize();
var email=$(“#email”).serialize();
var phone=$(“#phone”).serialize();
var bridge=$(“#bridge”).serialize();
var comments=$(“#comments”).serialize();
$.ajax({
类型:“POST”,
url:“ajax.php”,
数据:{'name':name,'email':email,'last_name':last_name,'phone':phone,'bridge':bridge,'comments':comments},
成功:功能(结果){
警报(结果);
}
});
});
});
现在是连接完成的php文件

<?php
/**
 * Created by PhpStorm.
 * User: erevos13
 * Date: 26/6/2017
 * Time: 11:13 μμ
 */
//is the databases connection
include "bd.php";

if (!$connection) {
    die("Connection failed: " . mysqli_connect_error());
}

if (isset($_POST['name'])) {
    $name = $_POST['name'];
    $last_name = $_POST['last_name'];
    $email = $_POST['email'];
    $phone = $_POST['phone'];
    $bridge = $_POST['bridge'];
    $comments = $_POST['comments'];


    $sql = "INSERT INTO info (`id` , `name`, `last_name`, `email `, `phone`, `bridge` , `comments` ) VALUES ( '' , '" . $name . "', '" . $last_name . "','" . $email . "', '" . $phone . "' , '" . $bridge . "', '" . $comments . "')";

    $query = mysqli_query($connection, $sql);
    if ($query) {
        echo "data insert successfully";
    } else {
        echo "data is not insert";
    }

}

您应该使用
console.log()
函数来检查javascript代码中的数据。 并阅读更多关于
序列化函数的信息。 您的javascript代码应该类似于:

$.ajax({
   type    : "POST",
   url     : "ajax.php",
   data    : $("form").serialize();
尝试用
val()
代替
serialize()
。检查jquery的代码:

<script type="text/javascript">
    $(document).ready(function(){

        $("#submit").click(function(){
            var name = $("#name").val();
            var last_name = $("#last_name").val();
            var email = $("#email").val();
            var phone = $("#phone").val();
            var bridge = $("#bridge").val();
            var comments = $("#comments").val();

            $.ajax({
                type    : "POST",
                url     : "ajax.php",
                data    : {'name': name,'email': email ,'last_name':last_name,'phone':phone,'bridge': bridge, 'comments': comments},

                success : function(result) {
                    alert(result);

                }
            });
        });

    });
</script>

$(文档).ready(函数(){
$(“#提交”)。单击(函数(){
var name=$(“#name”).val();
var last_name=$(“#last_name”).val();
var email=$(“#email”).val();
var phone=$(“#phone”).val();
var bridge=$(“#bridge”).val();
var comments=$(“#comments”).val();
$.ajax({
类型:“POST”,
url:“ajax.php”,
数据:{'name':name,'email':email,'last_name':last_name,'phone':phone,'bridge':bridge,'comments':comments},
成功:功能(结果){
警报(结果);
}
});
});
});
使用
.val()
函数代替
.serialize()
,如果你有name的值是
niklesh
,它将给出
name=niklesh
,你只希望看到
niklesh

$(document).ready(function(){
        $("#submit").click(function(){
            var name = $("#name").val();
            var last_name = $("#last_name").val();
            var email = $("#email").val();
            var phone = $("#phone").val();
            var bridge = $("#bridge").val();
            var comments = $("#comments").val();
            $.ajax({
                type    : "POST",
                url     : "ajax.php",
                data    : {"name": name,"email": email ,"last_name":last_name,"phone":phone,"bridge": bridge, "comments": comments},
                success : function(result) {
                    alert(result);
                }
            });
        });
    });
还可以使用参数化mysqli:


多亏了每一个人,我才发现了问题所在:

 $sql = "INSERT INTO info ( name, last_name, email , phone, bridge, comments ) VALUES (  '{$name}' , ' {$last_name} ','{$email }', '{$phone}' , '{$bridge}','{$comments}')"; 
我设法在我的代码中找到了它:

mysqli_error($connection)
我发现mysql没有插入一行。
我修复它,所有都是好的。< /p>从列中删除ID,从值和检查中删除空白。尝试回音查询并粘贴到PHpMyAdmin中,也从查询中删除ID列,因为这不是必需的,它会自动取值,因为它是自动递增的。故障在哪里?我使用val,但仍然在jquery的警报中弹出echo“Data is not insert”从insert query中删除
id
参数。我这样做了,并且仍然没有在phpmyadmin sql
insert中传递Batabaserun查询中的值到信息(id、姓名、姓氏、电子邮件、电话、网桥、注释)值中('','test','test','test@test.test“,'1234567890','test','test')
在my console.log中是相同的:数据是从php文件插入的