繁体   English   中英

如何使用json格式返回mysql中插入的行?

[英]How to return inserted row in mysql using json format?

我必须返回插入的行,该行只是以相同的php代码插入json格式。 在这一行中,booking_id是自动生成的密钥,以及其他信息,例如customer_Name,customer_Email,customer_id。 那么,如何返回带有附加列booking_id(自动生成)的插入行?

请注意,这个问题与我相同,但是我忘记了问返回行,但只问返回ID。 对此表示抱歉。 在这里检查

脚本

<script>
    $(document).ready(function(){
        $("#register-form").validate({
            rules: {
                userName: "required",                           
                email: {
                    required: true,
                    email: true
                },                                              
                userContactNumber: "required"                       
            },
            messages: {
                userName: "Please enter your Name",
                userContactNumber: "Please enter your Mobile number",                           
                email: "Please enter a valid email address",                                           
            },
            submitHandler: function(form) {

                var uName = $('#userName').val();   
                var mailId = $('#email').val();                 
                var mobNum = $('#userContactNumber').val();

                $.ajax({                
                    url:"http://localhost/bookRoom/book.php",
                    type:"POST",
                    dataType:"json",
                    data:{type:"booking", Name:uName, Email:mailId,  Mob_Num:mobNum},                                   
                    ContentType:"application/json",
                    success: function(response){                            
                        window.location.href = 'BookingConformation.html';
                    },
                    error: function(err){                           
                        window.location.href = 'error.html';
                    }
                });
                return false; // block regular submit
            }
        });
    });
</script>

服务器代码

<?php
    header('Access-Control-Allow-Origin: *');//Should work in Cross Domaim ajax Calling request
    mysql_connect("localhost","root","2190");
    mysql_select_db("hotels");

    if(isset($_POST['type']))
    {
        if($_POST['type']=="booking"){
            $name = $_POST ['Name'];               
            $mobile = $_POST ['Mob_Num'];
            $mail = $_POST ['Email'];               
            $query1 = "insert into customer(userName, userContactNumber, email) values('$name','$mobile','$mail')";
            $query2 = "insert into booking(cust_name, cust_email, cust_mobile) values('$name', '$mail','$mobile')";         

            $result1=mysql_query($query1);

            $result2=mysql_query($query2);
            echo json_encode($result1);
        }
    }
    else{
        echo "Invalid format";
    }
?>

您可以使用mysql_insert_id()函数访问在插入操作中自动生成的ID。

要返回它,只需使用您在插入中使用的数据和检索到的ID创建一个数组。 然后,您可以使用json_enode返回该数组。

用它。 我认为这对您有帮助

$id = mysql_insert_id();

使用: mysql_insert_id()mysqli_insert_id()返回预订ID。

注意:使用mysql_insert_id要小心,因为它在php 5.5中已弃用,以后会被删除

$id = mysql_insert_id();
echo json_encode($id);

然后在您的ajax success函数中,使用php文件而不是html并将此预订传递给url query string在您的booking.php中使用此预订ID并编写查询以获取该行

success: function(response){                            
                        window.location.href = "BookingConformation.php?bookingID='+response+'";
                    }

然后在您的bookingConfirmation.php文件中,使用GET方法获取此变量:

$bookingID=$_GET['bookingID'];
$query1= "select * from bookin where b_id =".$bookingID;
$result = mysql_query($query1);    
var_dump($result); //gives your array of insterd row

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM