从ajax和php插入mysql
大家好,我正在尝试使用php从ajax向mysql插入数据。这里是我的代码,任何人都可以提供帮助。 我得到的唯一错误是数据没有插入,在我的mysql中,值没有传入。 我的ajax中的问题在哪里? 或者在我的php中传递值 index.php从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 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 sqlinsert中传递Batabaserun查询中的值到信息(id、姓名、姓氏、电子邮件、电话、网桥、注释)值中('','test','test','test@test.test“,'1234567890','test','test')
在my console.log中是相同的:数据是从php文件插入的