php从数据库中获取数据用ajax传送到前台的方法

1. 传统的PHP获取数据库数据方法

在传统的PHP网站开发中,获取数据库数据的方法基本上有两种:

1.1 使用PDO (PHP Data Objects) 扩展

PDO 扩展是 PHP 5 开始引入的一个完成的数据库操作类库,它定义了一组面向对象的 API 用于访问各种数据库。

try {

$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);

foreach($dbh->query('SELECT * from customers') as $row) {

print_r($row);

}

$dbh = null;

} catch (PDOException $e) {

print "Error!: " . $e->getMessage() . "
";

die();

}

1.2 使用MySQL扩展

MySQL 扩展是 PHP 自带的数据库扩展库,直接操作 MySQL 数据库。

$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');

if (!$link) {

die('Could not connect: ' . mysql_error());

}

mysql_select_db('mydb');

$result = mysql_query('SELECT name FROM mytable');

while ($row = mysql_fetch_assoc($result)) {

echo $row['name'];

}

2. 使用Ajax从数据库中获取数据

下面这段代码就是ajax从数据库中获取数据并传送到前台的方法。先来看一下传送数据的脚本:

$(document).ready(function() {

$.ajax ({

url: "/path/to/your/php/script.php",

type: "POST",

data: {"parameter": "value"},

success: function(data) {

// handle your data here

}

});

});

对于使用 AJAX 获取的数据,可以通过服务器端的脚本来实现查询数据库的功能。请看下面这段 PHP 脚本代码:

try {

$pdo = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'username', 'password');

$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

} catch(PDOException $e) {

echo 'ERROR: ' . $e->getMessage();

exit;

}

$stmt = $pdo->prepare('SELECT * FROM mytable WHERE column_name LIKE :name');

$stmt->execute(array(':name' => '%' . $_POST['parameter'] . '%'));

$result = $stmt->fetchAll(PDO::FETCH_ASSOC);

echo json_encode($result);

?>

注意到我们 AJAX 发送的请求数据,就是通过 POST 方法来设置的。一般来说,POST 数组中可能会包含要查询的关键字、排序方式以及每页显示的记录数等参数

后端开发标签