html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<?php header("content-type :text/html;charset=utf-8");?>
<script src="jquery-3.2.1.min.js"></script>
</head>
<body>
<form action="PDO_insert.php" method="post">
Nom : <input type="text" name="name" id="name"/>
<input type="submit" value='查询' id="btn"/>
</form>
<script type="text/javascript">
nom de la variable =document.getElementById('name').value;
$("#btn").on("click", function () {
$.ajax({
tapez : "POST",
url : "PDO_insert.php",//url放的是当前页面请求的后台地址。
data:{name:name},
async:false,
dataType: "json",
succès : fonction (données) {
var result=data;
//var result = eval('[' + data + ']');
alert(result);
},
erreur : fonction () {
alert("请求失败!");
}
});
});
</script>
</body>
</html>
<?php
$host = 'localhost';
$ database = 'test';
$username = 'root';
$password = 'root';
$selectName = $_POST['name'];
$pdo = new PDO("mysql: host=$host;dbname=$database", $username, $password);//创建一一个pdo对象
$pdo->exec("set names 'utf8'");//设置数据库编码
$ sql = "select * from user which name = ?";
//$sql = "select * from user";
$stmt = $pdo->prepare($sql);
$rs = $stmt ->execute(array($selectName));
if ($rs){
// PDO::FETCH_ASSOC 关联数组形式
// PDO::FETCH_NUM 数字索引数组形式
pendant que ( $row = $stmt->fetch(PDO::FETCH_ASSOC)) {
global $name,$age;
$name = $row['name'];
$age = $row['age' ];
}
}
$data='{name:"'.$name.'",age:"'.$age.'"}';
echo json_encode($data); //打印出:"{name:"1",age:"1"}"
?>
为什么每次获取的都是前一次查询的数据?
Cela équivaut à deux requêtes. La première est une requête de formulaire et la seconde est une requête ajax. Vous mettez <input type="submit" value='query' id="btn"/> dehors