学习Ajax基于MySQL的实例实践(ajax实例 mysql)
学习Ajax:基于MySQL的实例实践
Ajax(Asynchronous JavaScript and XML)是一种在Web页面上进行异步通信的技术,使得网页可以在不重新加载整个页面的情况下与服务器端进行数据交互,从而提升用户的交互体验。本文将以基于MySQL的实例实践为例来介绍如何学习使用Ajax。
一、创建数据库和表
首先需要创建一个MySQL数据库和表,可以使用以下代码来创建一个名为ajax_example的数据库和一个名为student的表:
CREATE DATABASE ajax_example;
USE ajax_example;
CREATE TABLE student (
id INT(11) NOT NULL auto_increment,
name VARCHAR(255) NOT NULL,
age INT(11) NOT NULL,
PRIMARY KEY (id)
);
二、连接数据库
在使用Ajax之前需要先连接数据库,可以使用PHP语言来实现。以下是连接MySQL数据库的PHP代码:
$servername = “localhost”;
$username = “your_username”;
$password = “your_password”;
$dbname = “ajax_example”;
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error) {
die(“Connection fled: ” . $conn->connect_error);
}
echo “Connected successfully”;
?>
将“your_username”和“your_password”替换为自己的MySQL用户名和密码,将“ajax_example”替换为自己创建的数据库名。
三、前端页面
接下来创建一个前端页面,用于获取用户输入并向服务器发送Ajax请求。以下是实现这个功能的HTML和JavaScript代码:
function showResult(str) {
if (str.length == 0) {
document.getElementById(“output”).innerHTML = “”;
return;
} else {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById(“output”).innerHTML = this.responseText;
}
};
xmlhttp.open(“GET”, “getstudent.php?q=” + str, true);
xmlhttp.send();
}
}
Ajax Example
Enter a student name:
Result:
在这段代码中,当用户在文本框中输入一个字符时,JavaScript中的showResult函数便被调用。这个函数创建了一个XMLHttpRequest对象,然后向getstudent.php页面发送一个带有q参数的GET请求。在getstudent.php页面中会根据q参数来查询MySQL数据库中的student表,并将结果返回给前端页面。
四、服务端代码
接下来创建getstudent.php文件,用于查询MySQL数据库并返回结果。以下是getstudent.php的代码:
$servername = “localhost”;
$username = “your_username”;
$password = “your_password”;
$dbname = “ajax_example”;
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error) {
die(“Connection fled: ” . $conn->connect_error);
}
$q = $_REQUEST[“q”];
$sql = “SELECT * FROM student WHERE name LIKE ‘” . $q . “%'”;
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// 输出数据
while($row = $result->fetch_assoc()) {
echo “Name: ” . $row[“name”] . “, Age: ” . $row[“age”] . “
“;
}
} else {
echo “0 results”;
}
$conn->close();
?>
在这个文件中,我们首先连接了MySQL数据库,然后使用$_REQUEST[“q”]来获取从前端页面发送过来的GET请求中的q参数,用于查询匹配的学生信息。最后将查询结果返回给前端页面并关闭数据库连接。在这个例子中,我们通过用户输入的字符串来查询与该字符串匹配的学生姓名及年龄信息。
五、总结
通过本文的实例实践,我们了解了如何使用Ajax来实现Web页面与MySQL数据库的交互。需要注意的是,我们在客户端发出的Ajax请求中使用了GET方法来进行数据传输,虽然使用POST方法能够更好地保护用户输入信息,但需要在服务端进行更多的处理。另外,使用Ajax时需要注意对用户输入的数据进行过滤和验证,以防止输入非法字符或SQL注入攻击。