当在 php 上回显变量时,它可以工作,但是将其插入数据库时却不能,问题是什么我在代码上没有看到任何问题,谢谢您的帮助
HTML/JQUERY
<form action="" id="myForm">
<input type="text" id="name" ><br/>
<input type="text" id="age" ><br/>
<input type="submit" value="Submit">
</form>
<div id="result"></div>
<script>
$(function() {
$("#myForm").submit(function(e) {
e.preventDefault();
var name = $('#name').val();
var age = $('#age').val();
$.ajax({
url: 'validate.php',
method: 'POST',
data: {postname:name, postage:age},
success: function(res) {
$("#result").append(res);
}
});
});
});
</script>
php
<?php
include 'mysqldb.php';
$name = $_POST['postname'];
$age = $_POST['postage'];
$sql = "insert into uss (first, last) values('".$name."','".$age."')";
$result = $conn->query($sql);
echo $result ;
?>
控制台出错
POST http://localhost/validate.php 500 (Internal Server Error)
send @ jquery-3.1.1.min.js:4
ajax @ jquery-3.1.1.min.js:4
(anonymous) @ jquery.PHP:26
dispatch @ jquery-3.1.1.min.js:3
q.handle @ jquery-3.1.1.min.js:3
mysqldb.php这是连接数据库的php文件
<?php
$conn = mysqli_connect('localhost', 'root', 'password' , 'database');
if (!$conn) {
die("Connection failed: ".mysqli_connect_error());
}
?>
最佳答案
查询构建得“很好”。
那里的变量封装得很好。
您可以通过防止跨站脚本 (XSS) 和 SQL 注入(inject)来修复一些安全问题。这是在查询级别完成的。 Stack 中有很多线程解释了如何做到这一点。
尝试按以下方式使用 mysqli:
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "your query here";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
echo $result ;
} `
感谢您告诉我在答案中写下建议。
也感谢您接受正确答案,这体现了您的深思熟虑。
关于php - jQuery AJAX 发布到 php 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42699781/