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">
이름: <input type="text" name="name" id="name"/>
<input type="submit" value='查询' id="btn"/>
</form>
<script type="text/javascript">
var 이름 =document.getElementById('name').value;
$("#btn").on("click", function () {
$.ajax({
유형: "POST",
url: "PDO_insert.php",//url放的是当前页面请求的后台地址。
data:{name:name},
async:false,
dataType: "json",
성공: 함수(데이터) {
var result=data;
//var result = eval('[' + data + ']');
Alert(result);
},
오류: 함수 () {
Alert("请求失败!");
}
});
});
</script>
</body>
</html>
<?php
$host = 'localhost' ;
$ 데이터베이스 = '테스트';
$username = '루트';
$password = '루트';
$selectName = $_POST['name'];
$pdo = 새 PDO("mysql: 호스트=$host;dbname=$database", $username, $password);//创建一个pdo对象
$pdo->exec("설정 이름 'utf8'");//设置数据库编码
$ sql = "이름 = ?인 사용자에서 * 선택";
//$sql = "사용자에서 * 선택";
$stmt = $pdo->prepare($sql);
$rs = $stmt ->execute(array($selectName));
if ($rs){
// PDO::FETCH_ASSOC 关联数组TYPE式
// PDO::FETCH_NUM 数字索引数组shape式
동안 ( $row = $stmt->fetch(PDO::FETCH_ASSOC)) {
전역 $name,$age;
$name = $row['name'];
$age = $row['age' ];
}
}
$data='{name:"'.$name.'",age:"'.$age.'"}';
echo json_encode($data); //打印출:"{이름:"1",나이:"1"}"
?>
为什么每次获取的文是前一次查询的数据?
두 개의 쿼리에 해당합니다. 첫 번째는 양식 쿼리이고 두 번째는 ajax 쿼리입니다. 양식에 <input type="submit" value='query' id="btn"/> 밖에서